首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 內置函數大全:字符串、數值、日期、流程控制與實用工具函數

     編輯:MySQL 綜合教學

適用上下文

SELECT、WHERE、ORDER BY、HAVING、UPDATE、DELETE、存儲程序/函數/觸發器。

一、字符串函數

函數示例結果/說明
CONCAT(str1,str2,...)CONCAT('a','b')'ab',任一參數為 NULL 則結果 NULL
CONCAT_WS(sep,str1,...)CONCAT_WS(',','a','b')'a,b',跳過 NULL,首參為分隔符
INSERT(str,pos,len,newstr)INSERT('abcdef',2,3,'XX')'aXXef',位置從 1 開始
LOWER/UPPER(str)UPPER('abc')'ABC' / 'abc'
LEFT/RIGHT(str,len)LEFT('abcde',2)'ab' / 'de'
LPAD/RPAD(str,len,pad)LPAD('42',5,'0')'00042' / '42000'
TRIM/LTRIM/RTRIM(str)TRIM(' ab ')'ab',去除首尾/左/右空格
REPLACE(str,from,to)REPLACE('a,b,c',',',';')'a;b;c',全量替換
STRCMP(s1,s2)STRCMP('a','b')-1/0/1,按字典序比較
SUBSTRING(str,pos,len)SUBSTRING('abcde',2,3)'bcd'
LOCATE(substr,str)LOCATE('b','abc')2,首次出現位置,不存在返回 0

二、數值函數

函數示例結果
ABS(x)ABS(-5)5
CEIL/CEILING(x)CEIL(2.1)3(向上取整)
FLOOR(x)FLOOR(2.9)2(向下取整)
MOD(x,y)MOD(10,3)1
RAND()RAND()0~1 隨機浮點數
ROUND(x,d)ROUND(1.235,2)1.24(四捨五入)
TRUNCATE(x,d)TRUNCATE(1.239,2)1.23(截斷,不四捨五入)
POW(x,y)POW(2,3)8
SQRT(x)SQRT(16)4

三、日期時間函數

函數示例說明
CURDATE()CURDATE()當前日期 'YYYY-MM-DD'
NOW()/SYSDATE()NOW()當前日期時間 'YYYY-MM-DD HH:MM:SS'
CURTIME()CURTIME()當前時間 'HH:MM:SS'
UNIX_TIMESTAMP(dt)UNIX_TIMESTAMP(NOW())Unix 時間戳(秒)
FROM_UNIXTIME(ts)FROM_UNIXTIME(1700000000)時間戳轉日期時間
DATE_FORMAT(dt,fmt)DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')自定義格式輸出
YEAR/MONTH/DAY/HOUR/MINUTE/SECOND(dt)MONTH(NOW())提取對應部分
DATEDIFF(d1,d2)DATEDIFF('2024-01-01','2023-01-01')天數差
DATE_ADD/DATE_SUB(dt,INTERVAL expr unit)DATE_ADD(NOW(),INTERVAL 1 DAY)日期加減運算

四、流程控制函數

-- IF(條件,真值,假值)
SELECT IF(score>=60,'及格','不及格') FROM exam;

-- IFNULL(值1,值2)  值1非NULL返回值1,否則值2
SELECT IFNULL(bonus,0) FROM salary;

-- CASE WHEN ... THEN ... ELSE ... END
SELECT CASE 
  WHEN salary<3000 THEN '低'
  WHEN salary<6000 THEN '中'
  ELSE '高'
END AS level FROM emp;

-- CASE expr WHEN val THEN ... ELSE ... END
SELECT CASE status WHEN 1 THEN '啟用' WHEN 0 THEN '禁用' ELSE '未知' END FROM user;

五、其他實用函數

函數用途
DATABASE()當前默認數據庫
VERSION()服務器版本
USER()/CURRENT_USER()當前連接用戶
INET_ATON('192.168.1.1')IP 轉整數 3232235777
INET_NTOA(3232235777)整數轉 IP
MD5(str)MD5 哈希(不建議密碼存儲)
SHA1/SHA2(str,256)SHA 哈希
UUID()生成 UUID
BENCHMARK(count,expr)性能測試
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved