会員登録(無料)で全機能が使える!
MAIN TOOLS
UTILITIES
INFO
全エンジニア必携!SQL関数 逆引き図鑑
CONCAT(a, b)
a || b
a + b
SUBSTRING(s,1,3)
SUBSTR(s,1,3)
CHAR_LENGTH(s)
LENGTH(s)
LEN(s)
LOCATE('a', s)
POSITION('a' in s)
INSTR(s, 'a')
CHARINDEX('a', s)
STRPOS(s, 'a')
NOW()
SYSDATE
GETDATE()
CURRENT_DATETIME()
DATE_SUB(NOW(), INTERVAL 1 DAY)
NOW() - INTERVAL '1 day'
SYSDATE - 1
DATEADD(day, -1, GETDATE())
DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
DATEDIFF(end, start)
end - start
DATEDIFF(day, start, end)
DATE_DIFF(end, start, DAY)
※日付型を文字列に変換する場合
DATE_FORMAT(col, '%Y-%m-%d')
TO_CHAR(col, 'YYYY-MM-DD')
FORMAT(col, 'yyyy-MM-dd')
FORMAT_DATE('%Y-%m-%d', col)
DATE_FORMAT(col, '%Y年%m月')
TO_CHAR(col, 'YYYY年MM月')
TO_CHAR(col, 'YYYY"年"MM"月"')
FORMAT(col, 'yyyy年MM月')
FORMAT_DATE('%Y年%m月', col)
IFNULL(col, 0)
COALESCE
COALESCE(col, 0)
NVL(col, 0)
ISNULL(col, 0)
CAST(s AS UNSIGNED)
s::integer
CAST
TO_NUMBER(s)
CAST(s AS INT)
CAST(s AS INT64)
CAST(s AS DATE)
s::date
TO_DATE
TO_DATE(s, 'fmt')
PARSE_DATE('%Y-%m-%d', s)
※カラム data の中のキー "name" を取り出す場合
data
"name"
data->'$.name'
data->>'name'
->>
JSON_EXTRACT_SCALAR(data, '$.name')
data.name
JSON_VALUE(data, '$.name')
ROW_NUMBER()
RANK()
DENSE_RANK()
基本構文: RANK() OVER (PARTITION BY カテゴリ ORDER BY 点数 DESC) ※ほぼ全てのDBで共通の構文で使用できます。
RANK() OVER (PARTITION BY カテゴリ ORDER BY 点数 DESC)
※GROUP BY とセットで使い、"A, B, C" のようにまとめる機能
GROUP BY
GROUP_CONCAT(col)
STRING_AGG(col, ',')
LISTAGG(col, ',')WITHIN GROUP...
GROUP_CONCAT(col ORDER BY col)
STRING_AGG(col, ',' ORDER BY col)
LISTAGG(...)WITHIN GROUP (ORDER BY col)
STRING_AGG(...)WITHIN GROUP (ORDER BY col)
col REGEXP 'pattern'
col ~ 'pattern'
REGEXP_LIKE(col, 'pattern')
REGEXP_CONTAINS(col, 'pattern')
REGEXP_SUBSTR
SUBSTRING(col FROM 'pattern')
REGEXP_EXTRACT
REGEXP_REPLACE
ROUND(col, 桁)
TRUNCATE(col, 桁)
TRUNC(col, 桁)
ROUND(col, 桁, 1)
RAND()
RANDOM()
DBMS_RANDOM.VALUE
MOD(a, b)
a % b
SHOW TABLES
\dt
SELECT * FROM pg_tables
SELECT * FROM user_tables
SELECT * FROM sys.tables
DESC table_name
\d table
sp_help table
LIMIT 10
FETCH FIRST 10 ROWS ONLY
TOP 10 *
関数の書き方を調べたら、SQLチェッカーで正しく書けているかテストしたり、エラー解決くんを使ってデバッグしてみましょう。