mysql 常用函数总结
-- 一、基本函数 # 求绝对值 SELECT ABS(id) FROM school; SELECT ABS(-5); #5 # 开根号 SELECT SQRT(25),SQRT(-5),SQRT(0),SQRT(8); #5,null,0,2.8284271247461903 # 求余数 SELECT MOD(10,3); #1 # 向上取整 SELECT CEIL(2.5),CEILING(3.5);#3,4 两函数作用相同 # 向下取整 SELECT FLOOR(2.8);# 2 # 四舍五入 SELECT ROUND(2.2),ROUND(2.5); # 2,3 # 生成0~1之间的随机数 SELECT RAND(); -- 实例1 生成0~100之间的随机数 SELECT CEIL(RAND()*100); # 判断是正数还是负数还是0 SELECT SIGN(6),SIGN(0),SIGN(-5); # 1 0 -1 # 求n次方 SELECT POW(5,-2),POW(10,3); # 0.04,1000 # SIN(X) 正弦,COS(X) 余弦 TAN(X) 正切 -- 二、字符串函数 # 字节长度 SELECT LENGTH(`full_name`) FROM school; # 字节长度21 一个中文3字节 # 字符串长度 SELECT CHAR_LENGTH(`full_name`) FROM school; # 字符串长度 7 # 字符串拼接 SELECT CONCAT("hello"," world"); #hello world # 字符串替换 -- 位置替换 SELECT INSERT('FootBall',2,4,'Play'); #FPlayall 从第二个字符开始(起始位置为1),替换4个字符为Play SELECT INSERT('FootBall',-1,4,'Play'),INSERT('FootBall',10,4,'Play'); #FootBall,FootBall 注: -1和 10超出字符串长度 原样返回 SELECT INSERT('FootBall',3,20,'Play'); # FoPlay 从第三个字符开始(起始位置为1) 取20个字符替换为 Play -- 字符替换 SELECT REPLACE('FootBall','o','e'); # FeetBall # 大小写转换 SELECT UPPER('hello world'); # HELLO WORLD SELECT LOWER('HELLO WORLD'); # hello world # 去除字符串两边的空格 SELECT TRIM(' a b c '); #从左侧截取字符串 SELECT LEFT('myfunc',2); #my #从右侧截取字符串 SELECT RIGHT('myfunc',4); #func # 按位置截取 SELECT SUBSTRING('computer',3); # mputer 从第三个字符开始(起始位置为1) 截取之后的全部字符串 SELECT SUBSTRING('computer',3,3); # mpu 从第三个字符开始(起始位置为1) 截取3个字符串 SELECT SUBSTRING('computer',-5); # puter 从倒数第五个字符开始 截取之后的全部字符串 SELECT SUBSTRING('computer',-5,3); #put 从倒数第五个字符开始 截取3个字符串 # 字符串反转 SELECT REVERSE('hello world'); # dlrow olleh -- 三、时间日期函数 # 返回当前日期 SELECT CURRENT_DATE(),CURDATE(); # 2024-12-04,2024-12-04 # 返回当前时间 SELECT CURRENT_TIME(),CURTIME(); # 16:14:06 # 返回当前日期和时间 SELECT NOW(),SYSDATE(); # 2024-12-04 16:14:44 # 返回时间戳 秒 SELECT UNIX_TIMESTAMP(); # 1733300120 SELECT UNIX_TIMESTAMP('2024-12-4 00:00:00'); # 1733241600 # 格式化时间 参数是时间戳 SELECT FROM_UNIXTIME(UNIX_TIMESTAMP()); # 2024-12-04 16:19:53 SELECT FROM_UNIXTIME(1733241600); #2024-12-04 00:00:00.00 # 返回日期中的月份 SELECT MONTH('2017-12-15'); # 12 SELECT MONTH('2017-12-15 16:14:44'); # 12 # 返回月份的英文名称 SELECT MONTHNAME('2017-12-15'); # December SELECT MONTHNAME('2017-12-15 16:14:44'); # December # 返回日期中的星期几 SELECT DAYNAME('2024-12-4'); # Wednesday SELECT DAYOFWEEK('2024-12-4'); # 4 星期日为1 所以星期三就是4 SELECT WEEKDAY('2024-12-04'); # 2 星期一为0 # 返回一年中的第几周,注意下第二个参数 SELECT WEEK('2024-1-4'); # 0 # 返回一年中的第几天 SELECT DAYOFYEAR('2024-1-4'); # 4 # 返回日期中是当前月中的第几天 SELECT DAYOFMONTH('2024-12-4'); # 4 # 获取年份 SELECT YEAR('1969-1-4'); # 2024 # 将时间转换成秒 SELECT TIME_TO_SEC("01:02:10"); # 3730 # 将秒转换成时间与TIME_TO_SEC函数相反 SELECT SEC_TO_TIME(3730); # 01:02:10 # 日期时间累加 DATE_ADD 和 ADDDATE 函数作用相同 SELECT DATE_ADD('2024-12-03 23:59:59', INTERVAL 1 SECOND); # 2024-12-04 00:00:00 加1秒数 SELECT ADDDATE('2024-12-03 23:59:59', INTERVAL '1:2' MINUTE_SECOND); # 2024-12-04 00:01:01 加一分零一秒 SELECT ADDDATE('2024-12-03 23:59:59', INTERVAL 1 DAY); # 2024-12-04 23:59:59 加一天 SELECT DATE_ADD('2024-12-03 23:59:59', INTERVAL '1 00:00:01' DAY_SECOND); # 2024-12-05 00:00:00 加一天零一秒 # DATE_SUB,SUBDATE 与时间累加相反 # 时间累加 SELECT ADDTIME('2024-12-03 23:59:59','00:01:01'); # 2024-12-04 00:01:00 加一分零一秒 SELECT ADDTIME('2024-12-03 23:59:59','1'); # 2024-12-04 00:00:00 加一秒 SELECT ADDTIME('2024-12-03 23:59:59','1 00:01:01'); # 2024-12-05 00:01:00 加一天零一秒 # SUBTIME 和 ADDTIME 相反 # 计算日期差 SELECT DATEDIFF('2024-12-04','2024-12-03'); # 1 SELECT DATEDIFF('2024-12-04','2024-11-25'); # 9 # DATE_FORMAT 格式化日期 详细看参数比较多 # 聚合函数 MAX、MIN、COUNT、SUM、AVG # if 语句 SELECT IF(1<2,'yes','no') as res; # IFNULL 设置查询结果的默认值 SELECT `id`,`name`,IFNULL(`full_name`,'未填写') AS `full_name` FROM school # CASE 语句 SELECT CASE WEEKDAY(NOW()) WHEN 0 THEN '星期一' WHEN 1 THEN '星期二' WHEN 2 THEN '星期三' WHEN 3 THEN '星期四' WHEN 4 THEN '星期五' WHEN 5 THEN '星期六' ELSE '星期日' END AS `week`;
If the copyright belongs to the longfei, please indicate the source!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具