この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:atom
更新日時: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;

関連