首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 函數大全速查手冊:數學、字符串、日期時間、條件判斷、系統信息、加密六大類完整匯總

     編輯:MySQL 資料庫相關知識

一、數學函數

函數說明示例
ABS(x)絕對值ABS(-2)=2
PI()圓周率 π3.141593
SQRT(x)平方根 (x≥0)SQRT(4)=2
MOD(x,y)取模 (余數)MOD(5,2)=1
CEIL(x)/CEILING(x)向上取整CEIL(2.1)=3
FLOOR(x)向下取整FLOOR(2.9)=2
ROUND(x[,d])四捨五入 (d 位小數/負數向左)ROUND(2.432,2)=2.43
SIGN(x)符號 (-1/0/1)SIGN(-5)=-1
POW(x,y)/POWER(x,y)x 的 y 次方POW(2,3)=8
EXP(x)e 的 x 次方EXP(1)=2.718...
LOG(x)自然對數LOG(2.718)=1
LOG10(x)常用對數 (底 10)LOG10(100)=2
RADIANS(x)角度轉弧度RADIANS(180)=3.14...
DEGREES(x)弧度轉角度DEGREES(PI())=180
SIN(x)/ASIN(x)正弦/反正弦
COS(x)/ACOS(x)余弦/反余弦
TAN(x)/ATAN(x)正切/反正切
COT(x)余切

二、字符串函數

函數說明
CHAR_LENGTH(str)字符數
CONCAT(s1,s2,...)拼接 (任一 NULL 結果 NULL)
CONCAT_WS(sep,s1,s2,...)帶分隔符拼接
INSERT(s1,pos,len,s2)替換子串
LOWER(str)/LCASE(str)轉小寫
UPPER(str)/UCASE(str)轉大寫
LEFT(s,n)/RIGHT(s,n)左/右 n 字符
LPAD(s1,len,s2)/RPAD(s1,len,s2)左/右填充
LTRIM(s)/RTRIM(s)去左/右空格
TRIM(s)去兩端空格
TRIM(s1 FROM s)去兩端指定字符
REPEAT(s,n)重複 n 次
SPACE(n)n 個空格
REPLACE(s,s1,s2)替換所有 s1 為 s2
STRCMP(s1,s2)比較 (0/-1/1)
SUBSTRING(s,pos,len)/MID(s,pos,len)截取子串
LOCATE(s1,s)/POSITION(s1 IN s)/INSTR(s,s1)查找子串位置
REVERSE(s)反轉字符串
ELT(N,s1,s2,...)返回第 N 個參數

三、日期時間函數

函數說明
CURDATE()/CURRENT_DATE()當前日期
CURRENT_TIMESTAMP()/LOCALTIME()/NOW()/SYSDATE()當前日期時間
UNIX_TIMESTAMP([date])日期轉時間戳 (秒)
FROM_UNIXTIME(ts)時間戳轉日期
UTC_DATE()/UTC_TIME()UTC 日期/時間
MONTH(date)/MONTHNAME(date)月份/月名
DAYNAME(d)/DAYOFWEEK(d)/WEEKDAY(d)星期名/索引
WEEK(d)/WEEKOFYEAR(d)周數
DAYOFYEAR(d)/DAYOFMONTH(d)年/月中的天
YEAR/QUARTER/MINUTE/SECOND提取成分
EXTRACT(type FROM date)提取部分 (YEAR_MONTH等)
TIME_TO_SEC(time)時間轉秒
SEC_TO_TIME(sec)秒轉時間
DATE_ADD/ADDDATE(date,INTERVAL expr unit)日期加法
DATE_SUB/SUBDATE(date,INTERVAL expr unit)日期減法
ADDTIME/SUBTIME(date,expr)時間加減

四、條件判斷函數

函數說明
IF(expr,v1,v2)expr 真返回 v1 否則 v2
IFNULL(v1,v2)v1 非 NULL 返回 v1 否則 v2
CASE expr WHEN v1 THEN r1 [...] [ELSE rn] END多條件分支

五、系統信息函數

函數說明
VERSION()MySQL 版本號
CONNECTION_ID()當前連接 ID
USER()/CURRENT_USER()/SYSTEM_USER()/SESSION_USER()當前認證用戶@主機
CHARSET(str)字符串字符集
COLLATION(str)字符串排序規則

六、加密函數

函數說明
PASSWORD(str)MySQL 內部密碼加密 (單向、僅供認證系統用)
MD5(str)MD5 128位摘要 (32位十六進制)
ENCODE(str,pswd)用 pswd 加密 str
DECODE(crypt,pswd)用 pswd 解密 ENCODE 結果

七、其他實用函數

函數說明
FORMAT(x,n)數字格式化保留 n 位小數 (字符串返回)
CONV(N,from_base,to_base)進制轉換 (2-36進制)
INET_ATON(ip)IP 字符串轉整數
INET_NTOA(num)整數轉 IP 字符串
BENCHMARK(count,expr)重複執行 expr 測試性能 (返回 0)
CONVERT(str USING charset)字符集轉換

使用建議

  • 本手冊涵蓋 90%+ 日常開發用到的函數,建議收藏備查。
  • 函數行為可能因版本、SQL_MODE、字符集不同而有差異,生產使用前請小範圍驗證。
  • 複雜邏輯優先在應用層處理,SQL 函數用於數據層簡單變換,保持查詢可讀性。

MySQL 函數庫強大而精簡,熟練掌握核心 50 個函數足以應對絕大多數業務場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved