|
本文更新于2021-02-14,使用MySQL 5.7,操作系統(tǒng)為Deepin 15.4。
全局變量
| 變量 |
作用 |
| CURRENT_DATE |
當前日期 |
| CURRENT_TIME |
當前時間 |
| CURRENT_TIMESTAMP |
當前日期時間 |
數(shù)值函數(shù)
| 函數(shù) |
作用 |
| ABS(x) |
絕對值 |
| CEIL(x) |
向上取整 |
| FLOOR(x) |
向下取整 |
| MOD(x, y) |
取余,等同x%y |
| RAND() |
[0, 1)區(qū)間的隨機數(shù) |
| ROUND(x[, n]) |
四舍五入至n位小數(shù),n默認為0 |
| TRUNCATE(x, n) |
截斷為n位小數(shù) |
日期時間函數(shù)
| 函數(shù) |
作用 |
| CURDATE() |
當前日期 |
| CURTIME() |
當前時間 |
| DATE_ADD(t, INTERVAL expr type) |
增加一定時間間隔 |
| DATEDIFF(later, previous) |
later減previous相差的天數(shù),不考慮時間 |
| DATE_FORMAT(t, fmt) |
使用fmt格式化 |
| FROM_UNIXTIME(unix) |
UNIX時間戳的日期時間 |
| HOUR(t) |
小時 |
| MINUTE(t) |
分鐘 |
| MONTHNAME(t) |
月份名(英文) |
| NOW() |
當前日期時間 |
| UNIX_TIMESTAMP(t) |
轉(zhuǎn)換成UNIX時間戳 |
| WEEK(t) |
一年中的第幾周 |
| YEAR(t) |
年份 |
DATE_ADD(t, INTERVAL expr type)的type可用如下的時間間隔類型。expr使用對應(yīng)的格式,格式允許不嚴格的間隔(即任何標點符都可)。格式中的數(shù)值可使用負數(shù)。若整個格式就是一個數(shù)值,則可直接使用數(shù)值類型的格式,否則應(yīng)使用字符串類型的格式。
| 時間間隔類型 |
格式 |
| 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) |
| 時 |
%H |
兩位數(shù)字形式的時,24小時制(00, ..., 23) |
| 時 |
%h/%I |
兩位數(shù)字形式的時,12小時制(01, ..., 12) |
| 時 |
%k |
數(shù)字形式的時,24小時制(0, ..., 23) |
| 時 |
%l |
數(shù)字形式的時,12小時制(1, ..., 12) |
| 時分秒 |
%T |
兩位數(shù)字,24小時制的時分秒(hh:mm:ss) |
| 時分秒 |
%r |
兩位數(shù)字,12小時制的時分秒(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為周中第一天,第一個Sunday為第一周的開始,兩位數(shù)字形式(00, ..., 52) |
|
%u |
一年中第幾周,Monday為周中第一天,01-01為第一周的開始,兩位數(shù)字形式(00, ..., 52) |
| % |
%% |
字符% |
字符串函數(shù)
字符串首字符的下標為1。
| 函數(shù) |
作用 |
| CONCAT(v[, ...]) |
連接字符串,v也可以是數(shù)值 |
| INSERT(str, idx, len, substr) |
將str從idx(含)起的len個字符替換為substr |
| LEFT(str, len) |
取左側(cè)len個字符 |
| 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個字符 |
| 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ù)各表達式的真假返回結(jié)果 |
| CASE value WHEN enum1 THEN result1 [WHEN ...] [ELSE default] END |
value根據(jù)各枚舉值返回結(jié)果 |
使用流程函數(shù)時注意NULL的情況。
聚合函數(shù)
| 函數(shù) |
作用 |
| BIT_AND(row) |
按位與 |
| BIT_OR(row) |
按位或 |
其他函數(shù)
用于數(shù)據(jù)庫管理的函數(shù):
| 函數(shù) |
作用 |
| BENCHMARK(times, statement) |
對語句進行性能測試 |
| CURRENT_USER() |
當前認證的用戶名和主機,mysql.user表中的值 |
| DATABASE() |
當前數(shù)據(jù)庫名,同SCHEMA |
| PASSWORD(str) |
加密成系統(tǒng)密碼,結(jié)果長度為41 |
| SCHEMA() |
當前數(shù)據(jù)庫名,同DATABASE |
| SESSION_USER() |
當前客戶端的用戶名和主機,同USER |
| SYSTEM_USER() |
當前客戶端的用戶名和主機,同USER |
| USER() |
當前客戶端的用戶名和主機 |
| VERSION() |
當前MySQL版本 |
用于輔助查詢的函數(shù):
| 函數(shù) |
作用 |
| FOUND_ROWS() |
上一次查詢返回的行數(shù) |
| LAST_INSERT_ID() |
最后插入記錄使用的自增長值。如一次插入多條記錄,則返回第一條記錄使用的自增長值 |
用于計算的函數(shù):
| 函數(shù) |
作用 |
| BIN(value) |
二進制形式表示 |
| CRC32(value) |
CRC32值 |
| HEX(value) |
十六進制形式表示 |
| INET_ATON(ip) |
IP從點分十進制轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)序整數(shù) |
| INET_NTOA(uint) |
IP從網(wǎng)絡(luò)字節(jié)序整數(shù)轉(zhuǎn)換成點分十進制 |
| MD5(value) |
MD5值 |
| SHA1(value) |
SHA1值 |
|