本文更新于2021-02-14,使用MySQL 5.7,操作系統(tǒng)為Deepin 15.4。
全局變量
變量 |
作用 |
CURRENT_DATE |
當(dāng)前日期 |
CURRENT_TIME |
當(dāng)前時(shí)間 |
CURRENT_TIMESTAMP |
當(dāng)前日期時(shí)間 |
數(shù)值函數(shù)
函數(shù) |
作用 |
ABS(x) |
絕對值 |
CEIL(x) |
向上取整 |
FLOOR(x) |
向下取整 |
MOD(x, y) |
取余,等同x%y |
RAND() |
[0, 1)區(qū)間的隨機(jī)數(shù) |
ROUND(x[, n]) |
四舍五入至n位小數(shù),n默認(rèn)為0 |
TRUNCATE(x, n) |
截?cái)酁閚位小數(shù) |
日期時(shí)間函數(shù)
函數(shù) |
作用 |
CURDATE() |
當(dāng)前日期 |
CURTIME() |
當(dāng)前時(shí)間 |
DATE_ADD(t, INTERVAL expr type) |
增加一定時(shí)間間隔 |
DATEDIFF(later, previous) |
later減previous相差的天數(shù),不考慮時(shí)間 |
DATE_FORMAT(t, fmt) |
使用fmt格式化 |
FROM_UNIXTIME(unix) |
UNIX時(shí)間戳的日期時(shí)間 |
HOUR(t) |
小時(shí) |
MINUTE(t) |
分鐘 |
MONTHNAME(t) |
月份名(英文) |
NOW() |
當(dāng)前日期時(shí)間 |
UNIX_TIMESTAMP(t) |
轉(zhuǎn)換成UNIX時(shí)間戳 |
WEEK(t) |
一年中的第幾周 |
YEAR(t) |
年份 |
DATE_ADD(t, INTERVAL expr type) 的type 可用如下的時(shí)間間隔類型。expr 使用對應(yīng)的格式,格式允許不嚴(yán)格的間隔(即任何標(biāo)點(diǎn)符都可)。格式中的數(shù)值可使用負(fù)數(shù)。若整個(gè)格式就是一個(gè)數(shù)值,則可直接使用數(shù)值類型的格式,否則應(yīng)使用字符串類型的格式。
時(shí)間間隔類型 |
格式 |
YEAR |
YY |
MONTH |
MM |
DAY |
DD |
HOUR |
hh |
MINUTE |
mm |
SECOND |
ss |
YEAR_MONTH |
YY-MM |
DAY_HOUR |
DD hh |
DAY_MINUTE |
DD hh:mm |
DAY_SECOND |
DD hh:mm:ss |
HOUR_MINUTE |
hh:mm |
HOUR_SECOND |
hh:mm:ss |
MINUTE_SECOND |
mm:ss |
DATE_FORMAT(t, fmt) 的fmt 參數(shù)可使用的格式符如下:
格式符類型 |
格式符 |
說明 |
秒 |
%S/%s |
兩位數(shù)字形式的秒(00, ..., 59) |
分 |
%i |
兩位數(shù)字形式的分(00, ..., 59) |
時(shí) |
%H |
兩位數(shù)字形式的時(shí),24小時(shí)制(00, ..., 23) |
時(shí) |
%h/%I |
兩位數(shù)字形式的時(shí),12小時(shí)制(01, ..., 12) |
時(shí) |
%k |
數(shù)字形式的時(shí),24小時(shí)制(0, ..., 23) |
時(shí) |
%l |
數(shù)字形式的時(shí),12小時(shí)制(1, ..., 12) |
時(shí)分秒 |
%T |
兩位數(shù)字,24小時(shí)制的時(shí)分秒(hh:mm:ss) |
時(shí)分秒 |
%r |
兩位數(shù)字,12小時(shí)制的時(shí)分秒(hh:mm:ss AM/PM) |
上下午 |
%p |
AM或PM |
星期 |
%W |
英文星期(Sunday) |
星期 |
%a |
英文縮寫星期(Sun) |
星期 |
%w |
數(shù)字形式的星期(0=Sunday) |
日 |
%d |
兩位數(shù)字形式的日(01, ..., 31) |
日 |
%e |
數(shù)字形式的日(1, ..., 31) |
日 |
%D |
英文后綴形式的日(1st) |
月 |
%M |
英文月(January) |
月 |
%b |
英文縮寫月(Jan) |
月 |
%m |
兩位數(shù)字形式的月(01, ..., 12) |
月 |
%c |
數(shù)字形式的月(1, ..., 12) |
年 |
%Y |
4位數(shù)字形式的年 |
年 |
%y |
2位數(shù)字形式的年 |
|
%j |
一年中第幾天,三位數(shù)字形式(001, ..., 366) |
|
%U |
一年中第幾周,Sunday為周中第一天,第一個(gè)Sunday為第一周的開始,兩位數(shù)字形式(00, ..., 52) |
|
%u |
一年中第幾周,Monday為周中第一天,01-01為第一周的開始,兩位數(shù)字形式(00, ..., 52) |
% |
%% |
字符% |
字符串函數(shù)
字符串首字符的下標(biāo)為1。
函數(shù) |
作用 |
CONCAT(v[, ...]) |
連接字符串,v也可以是數(shù)值 |
INSERT(str, idx, len, substr) |
將str從idx(含)起的len個(gè)字符替換為substr |
LEFT(str, len) |
取左側(cè)len個(gè)字符 |
LENGTH(str) |
字符串長度 |
LOWER(str) |
轉(zhuǎn)換成小寫 |
LPAD(str, len, pad) |
使用pad在str左側(cè)填充至長度為len |
LTRIM(str) |
去掉左側(cè)空格 |
REPEAT(str, n) |
重復(fù)n次 |
REPLACE(str, old, new) |
使用new替換old |
RIGHT(str, len) |
取右側(cè)len個(gè)字符 |
RPAD(str, len, pad) |
使用pad在str右側(cè)填充至長度為len |
RTRIM(str) |
去除右側(cè)空格 |
STRCMP(str1, str2) |
str1<str2返回-1,str1=str2返回0,str1>str2返回1 |
SUBSTRING(str, idx, len) |
截取str從idx(含)起長度為len的子串 |
TRIM(str) |
去掉兩側(cè)空格 |
UPPER(str) |
轉(zhuǎn)換成大寫 |
流程函數(shù)
函數(shù) |
作用 |
IF(value, t, f) |
如果value為真則返回t,否則返回f |
IFNULL(value, result) |
如果value不為NULL則返回value,否則返回result |
CASE WHEN expr1 THEN result1 [WHEN ...] [ELSE default] END |
根據(jù)各表達(dá)式的真假返回結(jié)果 |
CASE value WHEN enum1 THEN result1 [WHEN ...] [ELSE default] END |
value根據(jù)各枚舉值返回結(jié)果 |
使用流程函數(shù)時(shí)注意NULL 的情況。
聚合函數(shù)
函數(shù) |
作用 |
BIT_AND(row) |
按位與 |
BIT_OR(row) |
按位或 |
其他函數(shù)
用于數(shù)據(jù)庫管理的函數(shù):
函數(shù) |
作用 |
BENCHMARK(times, statement) |
對語句進(jìn)行性能測試 |
CURRENT_USER() |
當(dāng)前認(rèn)證的用戶名和主機(jī),mysql.user表中的值 |
DATABASE() |
當(dāng)前數(shù)據(jù)庫名,同SCHEMA |
PASSWORD(str) |
加密成系統(tǒng)密碼,結(jié)果長度為41 |
SCHEMA() |
當(dāng)前數(shù)據(jù)庫名,同DATABASE |
SESSION_USER() |
當(dāng)前客戶端的用戶名和主機(jī),同USER |
SYSTEM_USER() |
當(dāng)前客戶端的用戶名和主機(jī),同USER |
USER() |
當(dāng)前客戶端的用戶名和主機(jī) |
VERSION() |
當(dāng)前MySQL版本 |
用于輔助查詢的函數(shù):
函數(shù) |
作用 |
FOUND_ROWS() |
上一次查詢返回的行數(shù) |
LAST_INSERT_ID() |
最后插入記錄使用的自增長值。如一次插入多條記錄,則返回第一條記錄使用的自增長值 |
用于計(jì)算的函數(shù):
函數(shù) |
作用 |
BIN(value) |
二進(jìn)制形式表示 |
CRC32(value) |
CRC32值 |
HEX(value) |
十六進(jìn)制形式表示 |
INET_ATON(ip) |
IP從點(diǎn)分十進(jìn)制轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)序整數(shù) |
INET_NTOA(uint) |
IP從網(wǎng)絡(luò)字節(jié)序整數(shù)轉(zhuǎn)換成點(diǎn)分十進(jìn)制 |
MD5(value) |
MD5值 |
SHA1(value) |
SHA1值 |
|