MySQL関数チートシート TECH
MySQLとは
MySQLはC、C++で書かれた特にPHPなどと相性の良いオープンソースなリレーショナルデータベース管理システムのこと
MySQL公式サイト 公式ドキュメント文字列系
LENGTH
文字列の長さ(バイト単位)の数値を取得
SELECT LENGTH('こんにちは');
CHAR_LENGTH
文字列の長さ(文字単位)の数値を取得
SELECT CHAR_LENGTH('こんにちは');
LEFT, RIGHT
左(右)から指定した文字数分の文字列を取得
SELECT LEFT('こんにちは', 4);
SUBSTRING
指定した位置から指定した文字数分の文字列を取得
SELECT SUBSTRING('こんにちは', 2, 4);
SUBSTRING_INDEX
指定した文字から指定した文字数分の文字列を取得
SELECT SUBSTRING_INDEX('こんにちは', 'んに', -2);
TRIM
文字列の先頭や末尾に空白がある場合に取り除いた文字列を取得
SELECT TRIM(' こんにちは ');
CONCAT
複数の文字列を連結した文字列を取得 (文字列結合)
SELECT CONCAT('Hello ', 'World');
LOWER, UPPER
複数の文字列を連結した文字列を取得
SELECT LOWER('Hello World');
ASCII
文字列の1文字目のASCIIコードを取得
SELECT ASCII('ABC');
REPEAT
指定した文字列を指定した回数繰り返した文字列を取得
SELECT REPEAT('Hey ', 3);
SPACE
指定した長さ分半角スペースを取得
SELECT SPACE(3);
LPAD, RPAD
指定した文字列が指定の長さ分、指定の文字を使って左(右)詰めした文字列を取得
SELECT LPAD('Hello', 10, '@');
REPLACE
指定した文字列の中に含まれる文字を新しい文字に置き換えた文字列を取得
SELECT REPLACE('Hello World', 'World', 'Japan');
INSERT
指定した文字列の中に含まれる文字の指定した長さの分、新しい文字に置き換えた文字列を取得
SELECT INSERT('Hello World', 7, 5, 'Japan');
数値系
FORMAT
指定した数値を3桁毎にカンマ区切りした文字列を取得
SELECT FORMAT(123456789, 0);
ABS
指定した数値を絶対値にした数値を取得
SELECT ABS(-100);
ABS
指定した数値を絶対値にした数値を取得
SELECT ABS(-100);
CEILING
指定した数値以上の最小の整数を取得
SELECT CEILING(5.5);
FLOOR
指定した数値以下の最大の整数を取得
SELECT FLOOR(5.5);
ROUND
指定した数値を四捨五入した数値を取得
SELECT ROUND(5.5, 0);
TRUNCATE
指定した数値を切り捨てした数値を取得
SELECT TRUNCATE(5.5, 0);
MOD
指定した数値を除算した余りの数値を取得
SELECT MOD(10, 3);
日付・時刻系
CURDATE
現在の日付をyyyy-MM-ddまたはyyyyMMdd形式で取得
SELECT CURDATE();
CURTIME
現在の時刻をhh:mm:ssまたはhhmmss形式で取得
SELECT CURTIME();
NOW
現在の日付と時刻をyyyy-MM-dd hh:mm:ssまたはyyyyMMddhhmmss形式で取得
SELECT NOW();
DAYNAME
指定した日付の曜日の文字列を取得
SELECT DAYNAME(NOW());
DATE_FORMAT
指定した日時を指定したフォーマットに整形した文字列を取得
SELECT DATE_FORMAT(NOW(), '%Y %M');
その他
CAST
指定した値を別のデータ型に変換した値を取得
SELECT CAST(100 AS CHAR);
CONVERT
指定した値を別のデータ型に変換した値を取得
SELECT CONVERT('100', SIGNED);
AVG
指定したカラムの数値の平均値を取得
SELECT AVG(カラム名) FROM テーブル名 GROUP BY カラム名;
SUM
指定したカラムの数値の合計を取得
SELECT SUM(カラム名) FROM テーブル名 GROUP BY カラム名;
MAX, MIN
指定したカラムの数値の最大値(最小値)を取得
SELECT MAX(カラム名) FROM テーブル名 GROUP BY カラム名;
COUNT
指定したカラムの行数を取得
SELECT COUNT(カラム名) FROM テーブル名;