SQL Reference

Ultimate SQL Function Dictionary

🔤 String Functions

Action MySQL PostgreSQL Oracle SQL Server BigQuery
Concat CONCAT(a, b) a || b a || b a + b CONCAT(a, b)
Substring SUBSTRING(s,1,3) SUBSTR(s,1,3) SUBSTR(s,1,3) SUBSTRING(s,1,3) SUBSTR(s,1,3)
Length CHAR_LENGTH(s) LENGTH(s) LENGTH(s) LEN(s) LENGTH(s)
Find Position LOCATE('a', s) POSITION('a' in s) INSTR(s, 'a') CHARINDEX('a', s) STRPOS(s, 'a')

📅 Date & Time

Action MySQL PostgreSQL Oracle SQL Server BigQuery
Current Time NOW() NOW() SYSDATE GETDATE() CURRENT_DATETIME()
Yesterday DATE_SUB(NOW(), INTERVAL 1 DAY) NOW() - INTERVAL '1 day' SYSDATE - 1 DATEADD(day, -1, GETDATE()) DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
Difference (Days) DATEDIFF(end, start) end - start end - start DATEDIFF(day, start, end) DATE_DIFF(end, start, DAY)

🎨 Date Formatting (ToString)

Format MySQL PostgreSQL Oracle SQL Server BigQuery
YYYY-MM-DD DATE_FORMAT(col, '%Y-%m-%d') TO_CHAR(col, 'YYYY-MM-DD') TO_CHAR(col, 'YYYY-MM-DD') FORMAT(col, 'yyyy-MM-dd') FORMAT_DATE('%Y-%m-%d', col)

🚫 NULL Handling

Action MySQL PostgreSQL Oracle SQL Server BigQuery
If NULL return 0 IFNULL(col, 0)
or COALESCE
COALESCE(col, 0) NVL(col, 0) ISNULL(col, 0)
or COALESCE
IFNULL(col, 0)

🔄 Type Casting

Action MySQL PostgreSQL Oracle SQL Server BigQuery
Str → Int CAST(s AS UNSIGNED) s::integer TO_NUMBER(s) CAST(s AS INT) CAST(s AS INT64)
Str → Date CAST(s AS DATE) s::date TO_DATE(s, 'fmt') CAST(s AS DATE) PARSE_DATE('%Y-%m-%d', s)

📦 JSON Operations (Extract Value)

DB Syntax Note
MySQL data->'$.name' 5.7+
PostgreSQL data->>'name' (As Text)
BigQuery JSON_EXTRACT_SCALAR(data, '$.name')
SQL Server JSON_VALUE(data, '$.name') 2016+

📊 Window Functions (Ranking)

Function Result Example (Score: 100, 90, 90, 80)
ROW_NUMBER() 1, 2, 3, 4 (Unique)
RANK() 1, 2, 2, 4 (Skip)
DENSE_RANK() 1, 2, 2, 3 (No Skip)

Syntax: RANK() OVER (PARTITION BY category ORDER BY score DESC)

🔗 String Aggregation (Group Concat)

DB Syntax
MySQL GROUP_CONCAT(col)
PostgreSQL STRING_AGG(col, ',')
Oracle LISTAGG(col, ',') WITHIN GROUP...
SQL Server STRING_AGG(col, ',')
BigQuery STRING_AGG(col, ',')

🧩 Regular Expression

Action MySQL PostgreSQL BigQuery
Match col REGEXP 'pat' col ~ 'pat' REGEXP_CONTAINS(col, 'pat')
Replace REGEXP_REPLACE REGEXP_REPLACE REGEXP_REPLACE

🧮 Math

Action MySQL PostgreSQL Oracle SQL Server BigQuery
Round ROUND(col, 2) ROUND(col, 2) ROUND(col, 2) ROUND(col, 2) ROUND(col, 2)
Random RAND() RANDOM() DBMS_RANDOM.VALUE RAND() RAND()

🛠 System Info

Action MySQL PostgreSQL Oracle SQL Server
Show Tables SHOW TABLES \dt SELECT * FROM user_tables SELECT * FROM sys.tables
Limit Rows LIMIT 10 LIMIT 10 FETCH FIRST 10 ROWS ONLY TOP 10 *

SerchCode Pro の全機能