|
第一组:聚合函数
max()
min()
sum()
avg()
count()
举例说明:
- select max(age) 年龄最大的,min(age) 年龄最小的,sum(age) 总年龄,avg(age) 平均年龄,count(*) 总人数 from user;
复制代码 执行结果如下:
第二组:取随机数函数
rand()举例说明:
- select rand();--输出结果为0.8853623260607592
- select * from stu3 order by rand();--随机排序
- select * from stu3 order by rand() limit 1; --随机取一条
复制代码 第三组:数值类操作函数
round()
truncate()
ceil()
floor()
举例说明:
- select round(3.1415926,3) '四舍五入',truncate(3.1415926,3) '截取数据',ceil(3.1) '向上取整',floor(3.9) '向下取整';
复制代码 执行结果如下:
第四组:文本类操作函数
ucase()--到大写
lcase()--到小写
left(str,num)--取左边
right(str,num)--取右边
substring(str,num,num)--取中间
concat(str1,str2,str3)--连接
length()--取长度
举个栗子:
- select length(name) from user where id=1;
复制代码 语句解释:
执行结果如下:
coalesce(str1,str2)--str1有值显示str1,为null显示str2。
举个栗子:
- select name,coalesce(age,'未登记') from user;
复制代码
语句解释:
- 在stu3表查询name和age字段,如果age为null则显示未登记。
复制代码 执行结果如下:
第五组:时间类操作函数
unix_timestamp() --取当前时间戳,结果为1670837151
from_unixtime(unix_timestamp());--将时间戳格式化为文本时间,结果为:2022-12-12 17:26:44
举个栗子:
- select `name`,from_unixtime(createtime) from user;
复制代码 执行结果如下:
now() 取当前时间,结果格式为:2023-01-11 17:08:50
year(now()) 年
month(now()) 月
day(now()) 日
hour(now()) 小时
minute(now()) 分钟
second(now())秒
dayname(now()) 星期
dayofyear(now()) 本年第几天
datediff(now(),'2010-08-08') 相距天数;//4509
举个栗子:
- select year(now()) 年,month(now()) 月,day(now()) 日,hour(now()) 小时,minute(now()) 分钟,second(now())秒;
- select datediff(now(),'2010-08-08');
复制代码
执行结果如下:
第六组:加密类操作函数
select md5('aa'); 4124bc0a9335c27f086f24ba207a4912
select sha('aa');e0c9035898dd52fc65c41454cec9c4d2611bfb37
举个栗子:
- select sha(name) from user;
复制代码 执行结果如下:
ok,以上就是mysql常用的内置函数,大家务必自己练习一下,我们下一篇继续。
|
|