mysql函数总结
1 字符串函数
SELECT title,LENGTH(title),SUBSTRING(title,1,1),LEFT(title,1),RIGHT(title,1),UPPER(title),LOWER(title),REPLACE(title, 'g' ,'l'),CONCAT('title:',title) FROM blog_note
SELECT title,LENGTH(title),SUBSTR(title,1,1),CONCAT('title',':',title),TRIM(title),LPAD(title,16,' '),RPAD(title,16,' ') FROM blog_note
SELECT CHARSET('A'),CHARSET(CONVERT('A' USING GBK)), ASCII('C'),REPEAT('ABC',3),REVERSE('abc'),POSITION('b' in 'abc'),STRCMP("A", "B")
2 数学函数
SELECT ROUND(PI(),4),FLOOR(PI()),CEIL(PI()),TRUNCATE(PI(),5)
SELECT MOD(10,3),POW(2,3)
3 IF(expr,val1,val2)、IFNULL(val1,val2)、NULLIF(val1,val2)、ISNULL(val)
if(表达式,结果1,结果2) 表达式为true,则返回结果1,否则返回结果2
SELECT if(TRUE,1,0),if(false,1,0)
IFNULL(值1,值2) 如果值1位null则返回值2,否则返回值1
SELECT IFNULL(1,2),IFNULL(NULL,2)
NULLIF(值1,值2) 如果值1和值2相等则返回null,否则返回值1
SELECT NULLIF('1','2'),NULLIF('1','1')
ISNULL(值) 判断值是否为null
SELECT ISNULL(''),ISNULL(NULL),ISNULL('null')
4 FIND_IN_SET(needle,haystack) 、LOCATE(needle,haystack)
FIND_IN_SET(needle,haystack)函数 返回指定字符串在以逗号分隔的字符串列表中的位置
LOCATE(needle,haystack)函数 返回指定子字符串在字符串中的位置
INSTR(haystack,needle)函数 返回指定子字符串在字符串中的位置
SELECT FIND_IN_SET('sport','eat,health,sport,truth'),FIND_IN_SET('eat','eat,health,sport,truth'),FIND_IN_SET('sleep','eat,health,sport,truth')
SELECT LOCATE('sport','eat,health,sport,truth'),LOCATE('eat','eat,health,sport,truth'),LOCATE('sleep','eat,health,sport,truth')
SELECT INSTR('eat,health,sport,truth','sport'), INSTR('eat,health,sport,truth','eat'), INSTR('eat,health,sport,truth','sleep')
5 ELT(N,str1,str2,str3...)、INTERVAL(N,N1,N2,N3...)
ELT(N,str1,str2,str3...) 依N的值返回第N+1个参数,不存在则返回null
INTERVAL(N,N1,N2,N3...) 依N的值是否大于N(i)小于N(i+1),返回i
SELECT ELT(1,'a','b','c'),ELT(2,'a','b','c'),ELT(4,'a','b','c')
SELECT INTERVAL(50,60,90,100),INTERVAL(80,60,90,100),INTERVAL(93,60,90,95),INTERVAL(96,60,90,95)
SELECT id,score,interval(score,0,60,85,90), ELT(interval(score,0,60,85,90),'不及格','及格','良好','优秀') FROM s_score
SELECT score ,case when score<60 then '不及格' when score>=60 AND score<85 then '及格' when score>=85 AND score<90 then '良好' else '优秀' END AS level FROM s_score
6 类型转换
SELECT CAST(PI() AS SIGNED),CAST("2022-08-29" AS DATE)
SELECT CONVERT("2022-12-20",DATE),CONVERT("08:30:00",TIME),CONVERT("2017-08-29 08:30:00",DATETIME),CONVERT(97,CHAR),CONVERT('A',BINARY)
7 进制转换
SELECT BIN(10),BIN(15),CONV(15,10,2),CONV(1111,2,10),CONV(1111,2,16),BINARY 10,BINARY 'A'
8 COALESCE返回元素中第一个非null的值
SELECT COALESCE(NULL,'NULL', 'title'),COALESCE(NULL,'', 'title'),COALESCE(NULL,NULL, 'title');
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix