博客
关于我
mysql常用函数
阅读量:339 次
发布时间:2019-03-04

本文共 2750 字,大约阅读时间需要 9 分钟。

mysql常用函数

聚合函数

COUNT(col) 统计查询结果的行数

MIN(col) 查询指定列的最小值
MAX(col) 查询指定列的最大值
SUM(col) 求和,返回指定列的总和
AVG(col) 求平均值,返回指定列数据的平均值

数值型函数

数值型函数主要是对数值型数据进行处理,得到我们想要的结果,常用的几个列举如下,具体使用方法大家可以试试看。

ABS(x)   //返回x的绝对值BIN(x)   //返回x的二进制CEILING(x)   //返回大于x的最小整数值EXP(x)   //返回值e(自然对数的底)的x次方FLOOR(x)   //返回小于x的最大整数值GREATEST(x1,x2,...,xn)   //返回集合中最大的值LEAST(x1,x2,...,xn)   //返回集合中最小的值LN(x)   //返回x的自然对数LOG(x,y)   //返回x的以y为底的对数MOD(x,y)   //返回x/y的模(余数)PI()   //返回pi的值(圆周率)RAND()   //返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值ROUND(x,y)   //返回参数x的四舍五入的有y位小数的值TRUNCATE(x,y)   //返回数字x截短为y位小数的结果

字符串函数

字符串函数可以对字符串类型数据进行处理,在程序应用中用处还是比较大的,同样这里列举几个常用的如下:

LENGTH(s)   计算字符串长度函数,返回字符串的字节长度CONCAT(s1,s2...,sn)   合并字符串函数,返回结果为连接参数产生的字符串,参数可以是一个或多个INSERT(str,x,y,instr)   将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果LOWER(str)   将字符串中的字母转换为小写UPPER(str)   将字符串中的字母转换为大写LEFT(str,x)   返回字符串str中最左边的x个字符RIGHT(str,x)   返回字符串str中最右边的x个字符TRIM(str)   删除字符串左右两侧的空格REPLACE   字符串替换函数,返回替换后的新字符串SUBSTRING   截取字符串,返回从指定位置开始的指定长度的字符换REVERSE(str)   返回颠倒字符串str的结果

elt()

ELT(N,str1,str2,str3,…)

如果N= 1,返回str1,如果N= 2,返回str2,等等。如果N小于1或大于参数个数,返回NULL。ELT()是FIELD()反运算。

mysql> select ELT(1, 'ej', 'Heja', 'hej', 'foo');        -> 'ej'mysql> select ELT(4, 'ej', 'Heja', 'hej', 'foo');        -> 'foo'

interval()

小于后面的某个参数,就返回这个参数的前一个位置数字

INTERVAL(N,N1,N2,N3,…)

mysql> SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200); //(23小于30,30的位置是4,于是返回3)        -> 3mysql> SELECT INTERVAL(10, 1, 10, 100, 1000); //(10等于10,10的位置是2,于是返回2)        -> 2mysql> SELECT INTERVAL(22, 23, 30, 44, 200);        -> 0

通常情况都是与elt一起使用

select elt(interval(age,10,20,30),'0-9','10-19','20-30') as altage,count(*) as num FROM user GROUP BY altage order by altage desc;-> altage   num   20-30	    700635  10-19	    100313  0-9	    99721	        99331

FROM_UNIXTIME() 将时间戳转化为日期时间格式

from_unixtime()

select from_unixtime(1614827889);2021-03-04 11:18:09

NOW() 获取当前时间

select now();->now()2021-03-04 11:27:47

UNIX_TIMESTAMP() 时间格式转为时间戳

select UNIX_TIMESTAMP(now());->UNIX_TIMESTAMP(now())1614828608

datediff() 比较的两个时间 返回两个日期的相差天数

不能定位到小时、分钟和秒。

时间大的放前面,小的放后面会返回正数

select datediff('2021-03-01 11:18:0','2021-03-05 11:18:0');-> -4

TIMESTAMPDIFF() 比较的两个时间

TIMESTAMPDIFF函数,有参数设置,可以精确到天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND),使用起来比datediff函数更加灵活。对于比较的两个时间,时间小的放在前面,时间大的放在后面。

select timestampdiff(day,'2021-03-01 11:19:00','2021-03-05 11:18:00'); //返回3天select timestampdiff(day,'2021-03-01 11:18:00','2021-03-05 11:18:00'); //返回4天select timestampdiff(hour,'2021-03-01 11:19:00','2021-03-05 11:18:00'); //相差 95小时select timestampdiff(minute,'2021-03-01 11:19:00','2021-03-05 11:18:00'); //相差 5759分钟select timestampdiff(second,'2021-03-01 11:19:00','2021-03-05 11:18:00'); //相差 345540秒select timestampdiff(year,'2021-03-01 11:19:00','2021-03-05 11:18:00'); //相差 1 年

转载地址:http://knbe.baihongyu.com/

你可能感兴趣的文章
【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障
查看>>
工作半年的思考
查看>>
不可思议的纯 CSS 滚动进度条效果
查看>>
【CSS进阶】伪元素的妙用--单标签之美
查看>>
开始CN的生活
查看>>
惊闻NBC在奥运后放弃使用Silverlight
查看>>
IE下尚未实现错误的原因
查看>>
Kubernetes 学习系列文章
查看>>
创建自己的Docker基础镜像
查看>>
使用Jenkins来实现内部的持续集成流程(上)
查看>>
HTTP 协议图解
查看>>
Python 简明教程 --- 20,Python 类中的属性与方法
查看>>
Python 简明教程 --- 21,Python 继承与多态
查看>>
KNN 算法-理论篇-如何给电影进行分类
查看>>
Spring Cloud第九篇 | 分布式服务跟踪Sleuth
查看>>
CODING 敏捷实战系列课第三讲:可视化业务分析
查看>>
使用 CODING DevOps 全自动部署 Hexo 到 K8S 集群
查看>>
工作动态尽在掌握 - 使用 CODING 度量团队效能
查看>>
CODING DevOps 代码质量实战系列最后一课,周四发车
查看>>
CODING DevOps 深度解析系列第二课报名倒计时!
查看>>