当前位置: 首页 > news >正文

MySQL常用函数大全(实例演示)

此博客主要包括如下类型函数:

一、数字函数

二、字符串函数

三、日期函数

四、MySQL高级函数


一、数字函数

1、ABS(x) 返回x的绝对值

SELECT ABS(-1);

结果: 

2、AVG(expression) 返回一个表达式的平均值,expression 是一个字段

SELECT AVG(score) FROM sc;

 结果: 

3、CEIL(x)/CEILING(x) 返回大于或等于 x 的最小整数

SELECT CEIL(1.5);
SELECT CEILING(1.5); 

结果: 

4、FLOOR(x) 返回小于或等于 x 的最大整数

SELECT FLOOR(1.5); 

结果: 

5、EXP(x) 返回 e 的 x 次方

SELECT EXP(3);

结果: 

6、GREATEST(expr1, expr2, expr3, …) 返回列表中的最大值

SELECT GREATEST(3, 12, 34, 8, 25);

结果: 

7、LEAST(expr1, expr2, expr3, …) 返回列表中的最小值 

SELECT LEAST(3, 12, 34, 8, 25);

结果: 

8、LN 返回数字的自然对数

SELECT LN(2);

结果: 

9、LOG(x) 返回自然对数(以 e 为底的对数)

SELECT LOG(20.085536923188);

结果: 

10、MAX(expression)返回字段 expression 中的最大值

SELECT MAX(score) FROM sc;

结果: 

11、MIN(expression)返回字段 expression 中的最小值

SELECT MIN(score) FROM sc;

结果: 

12、POW(x,y)/POWER(x,y)返回 x 的 y 次方

SELECT POW(2,3);
SELECT POWER(2,3);

结果: 

 

13、RAND()返回 0 到 1 的随机数

SELECT RAND();

结果: 

14、ROUND(x)返回离 x 最近的整数

SELECT ROUND(1.23456);

结果: 

15、SIGN(x)返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1

SELECT SIGN(-10);

结果: 

16、SQRT(x)返回x的平方根

SELECT SQRT(25);

结果: 

17、SUM(expression)返回指定字段的总和 

SELECT SUM(score) FROM sc;

结果: 

18、TRUNCATE(x,y)返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入)

SELECT TRUNCATE(1.23456,3);

结果: 

二、字符串函数

1、返回字符串 s 的第一个字符的 ASCII 码

SELECT ASCII('AB');

结果:

2、LENGTH/CHAR_LENGTH(s)/CHARACTER_LENGTH(s)返回字符串 s 的字符数

SELECT LENGTH('1234');

结果:

3、CONCAT(s1,s2…sn)字符串 s1,s2 等多个字符串合并为一个字符串

SELECT CONCAT('hel','llo');

结果:

4、FIND_IN_SET(s1,s2)返回在字符串s2中与s1匹配的字符串的位置

SELECT FIND_IN_SET("c", "a,b,c,d,e");

结果:

5、FORMAT(x,n)函数可以将数字 x 进行格式化 “#,###.##”, 将 x 保留到小数点后 n 位,最后一位四舍五入

SELECT FORMAT(250500.5634, 2); 

结果:

6、INSERT(s1,x,len,s2)字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串

SELECT INSERT("google.com", 1, 6, "runnob");

结果:

7、LOCATE(s1,s)从字符串 s 中获取 s1 的开始位置

SELECT LOCATE('st','myteststring');

结果:

8、LCASE(s)/LOWER(s)将字符串 s 的所有字母变成小写字母

SELECT LOWER('RUNOOB');

结果:

9、UCASE(s)/UPPER(s)将字符串 s 的所有字母变成大写字母

SELECT UCASE('runoob');

结果:

10、TRIM(s)去掉字符串 s 开始和结尾处的空格

SELECT TRIM('    RUNOOB    ');

结果:

11、LTRIM(s)去掉字符串 s 开始处的空格

SELECT LTRIM('    RUNOOB    ');

结果:

12、RTRIM(s)去掉字符串 s 结尾处的空格

SELECT RTRIM('    RUNOOB    ');

结果:

13、SUBSTR/SUBSTRING(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串

SELECT SUBSTR("RUNOOB", 2, 3);
SELECT SUBSTRING("RUNOOB", 2, 3);

结果:

14、POSITION(s1 IN s)从字符串 s 中获取 s1 的开始位置

SELECT POSITION('b' in 'abc');

结果:

15、REPEAT(s,n)将字符串 s 重复 n 次

SELECT REPEAT('runoob',3);

结果:

16、REVERSE(s)将字符串s的顺序反过来

SELECT REVERSE('abc');

结果:

17、STRCMP(s1,s2)比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1

SELECT STRCMP("runoob", "runoob");

结果:

三、日期函数

1、CURDATE()/CURRENT_DATE()返回当前日期

SELECT CURDATE();
SELECT CURRENT_DATE();

结果:

 

2、CURRENT_TIME()/CURTIME()返回当前时间

SELECT CURRENT_TIME();

结果:

3、CURRENT_TIMESTAMP()返回当前日期和时间

SELECT CURRENT_TIMESTAMP();

结果:

4、ADDDATE(d,n)计算起始日期 d 加上 n 天的日期

SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);

结果:

5、ADDTIME(t,n)时间 t 加上 n 秒的时间

SELECT ADDTIME('2011-11-11 11:11:11', 5);

结果:

6、DATE()从日期或日期时间表达式中提取日期值

SELECT DATE("2017-06-15 11:11:16");

结果:

7、DAY(d)返回日期值 d 的日期部分

SELECT DAY("2017-06-15"); 

结果:

8、DATEDIFF(d1,d2)计算日期 d1->d2 之间相隔的天数

SELECT DATEDIFF('2001-01-01','2001-02-02'); 

结果:

9、DATE_FORMAT按表达式 f的要求显示日期 d

SELECT DATE_FORMAT('2011.11.11 11:11:11','%Y-%m-%d %r');

结果:

10、DAYNAME(d)返回日期 d 是星期几,如 Monday,Tuesday

SELECT DAYNAME('2011-11-11 11:11:11');

结果:

11、DAYOFMONTH(d)计算日期 d 是本月的第几天

SELECT DAYOFMONTH('2011-11-11 11:11:11');

结果:

12、DAYOFWEEK(d)日期 d 今天是星期几,1 星期日,2 星期一,以此类推

SELECT DAYOFWEEK('2011-11-11 11:11:11');

结果:

13、DAYOFYEAR(d)计算日期 d 是本年的第几天

SELECT DAYOFYEAR('2011-11-11 11:11:11');

结果:

14、EXTRACT(type FROM d)从日期 d 中获取指定的值,type 指定返回的值

SELECT EXTRACT(MINUTE FROM '2011-12-13 14:15:16');

结果:

15、UNIX_TIMESTAMP()得到时间戳

SELECT UNIX_TIMESTAMP('2019-2-19');

结果:

四、MySQL高级函数

1、FROM_UNIXTIME()时间戳转日期

SELECT IF(1>0,'yes','no');

结果:

2、CONV(x,f1,f2)返回 f1 进制数变成 f2 进制数

SELECT CONV(13,10,2);

结果:

3、CURRENT_USER()/SESSION_USER()/SYSTEM_USER()/USER()返回当前用户

SELECT CURRENT_USER();

结果:

4、DATABASE()返回当前数据库名

SELECT DATABASE();

结果:

5、VERSION()返回数据库的版本号

SELECT VERSION();

结果:

相关文章:

  • 单片机之串口通信
  • 金三银四面试题(一):JVM类加载与垃圾回收
  • LeetCode 面试经典150题 290.单词规律
  • 笔记81:在服务器中运行 Carla 报错 “Disabling core dumps.”
  • windows 下用使用api OCI_ConnectionCreate连接oracle报错 TNS:无法解析指定的连接标识符
  • verilog设计-cdc:多比特信号跨时钟域(DMUX)
  • 【前端的讲解】
  • Linux之定时任务01
  • 亚信安慧AntDB助力全链路实时化
  • 基于华为atlas的分类模型实战
  • c#创建安装windows服务
  • 51单片机学习(5)-----蜂鸣器的介绍与使用
  • Linux学习笔记(更新中)
  • 论文理解【Offline RL】—— A dataset perspective on offline reinforcement learning
  • 三分钟了解MySQL慢查询
  • cesium拾取pick系列(拾取坐标和对象)
  • 音视频开发入门小知识
  • 数据挖掘-理解业务和数据(二)
  • 温振变送器为何被称为监测工频类设备故障的“利器”?
  • 【面试题】数组去重的五种方法(必会)
  • MySQL索引
  • JavaScript基础总结---重点
  • UnRaid设备共用其他UnRaid主UPS的详细设置方法
  • ESP32的MQTT AT固件烧录+STM32以ESP32的MQTT AT固件的AT指令连接EMQX下mqtt服务器实现消息订阅和发布
  • Python 多进程编程(一)Pool Manager in multiprocessing
  • 灰度变换 - 灰度切割(灰度级分层)+threshold函数
  • MyBatis 框架的思想及其第一次使用
  • 【Unity Shader】Unity中如何创建Cubemap?
  • 面试百问:项目上线后才发现bug怎么办?
  • C语言《文件版本通讯录》
  • 【无人机】基于EKF、UKF、PF、改进PF滤波算法的无人机航迹预测(Matlab代码实现)
  • 一篇文章让你搞懂Java中的静态代理和动态代理