この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
更新日時:2026-05-13 06:56:37
タイトル: 関数
MariaDB / MySQL で使用できる関数の記事です。データ取得時の整形、文字列操作、日付計算、集計など、SQLの中で値を加工するための組み込み関数を扱います。
子ページから関数を選択してください。
本ページの子ページ
関数の分類
文字列関数
| 関数 | 用途 |
LENGTH(str) | バイト数を返す |
CHAR_LENGTH(str) | 文字数を返す(マルチバイト安全) |
CONCAT(s1, s2, ...) | 文字列連結 |
SUBSTRING(str, pos, len) | 部分文字列 |
REPLACE(str, from, to) | 置換 |
UPPER(str) / LOWER(str) | 大文字/小文字変換 |
TRIM(str) / LTRIM / RTRIM | 空白除去 |
LPAD(str, len, pad) | 左パディング |
LOCATE(s, str) | 文字列検索 |
日付・時刻関数
| 関数 | 用途 |
NOW() / CURRENT_TIMESTAMP | 現在日時 |
CURDATE() / CURTIME() | 現在日付/時刻 |
DATE(dt) / TIME(dt) | 日付部/時刻部抽出 |
DATE_FORMAT(dt, fmt) | 書式化(%Y-%m-%d等) |
STR_TO_DATE(str, fmt) | 文字列→日付 |
DATE_ADD(dt, INTERVAL n unit) | 日付加算 |
DATEDIFF(d1, d2) | 日数差 |
YEAR() / MONTH() / DAY() | 年・月・日抽出 |
数値関数
| 関数 | 用途 |
ROUND(n, d) | 四捨五入 |
CEIL(n) / FLOOR(n) | 切り上げ/切り捨て |
ABS(n) | 絶対値 |
MOD(a, b) | 剰余 |
POWER(a, b) | 累乗 |
RAND() | 0〜1の乱数 |
集約関数(GROUP BYと併用)
| 関数 | 用途 |
COUNT(*) / COUNT(col) | 件数 |
SUM(col) | 合計 |
AVG(col) | 平均 |
MIN(col) / MAX(col) | 最小/最大 |
GROUP_CONCAT(col) | カンマ区切り連結 |
条件・NULL処理
| 関数 | 用途 |
IF(cond, a, b) | 条件分岐 |
IFNULL(expr, default) | NULLなら代替値 |
COALESCE(a, b, c, ...) | 最初のNULL以外を返す |
CASE WHEN ... THEN ... END | 多分岐 |
使用例
|
-- 文字列連結+部分抽出
SELECT CONCAT(last_name, ' ', first_name) AS full_name FROM users;
-- 日付の書式変換
SELECT DATE_FORMAT(created_at, '%Y-%m-%d') FROM orders;
-- NULL対応
SELECT IFNULL(nickname, name) AS display FROM users;
-- グループ集計
SELECT user_id, COUNT(*) as cnt, SUM(price)
FROM orders GROUP BY user_id;
|
関連