实用MySQL函数函数
- 显示当前时间 select now()。
mysql> select now();
2018-05-20 22:33:28
2.去重distinct()
>select count(distinct(name))/count(*) from user;
count(distinct(name))/count(*)
0.6667
3.字符长度 select char_length('string')
select char_length('string')
>char_length('string')
>100
4.日期格式化 select date_format(now(),'%y-%m-%d)
这里支持的格式有:
%y:表示年(两位数),例如: 17 年。
%Y:表示4位数中的年,例如: 2017年
%m:表示月(1-12)
%d: 表示月中的天
%H: 小时(0-23)
%i: 分钟 (0-59)
%s: 秒 (0-59)
select date_format(now(),'%y-%m-%d)
>18-05-21
5.添加/减少日期时间
DATE_ADD(date,interval expr unit)
DATE_SUB(date,interval expr unit)
其中Date表示日期格式,其中就包括: 如
2017-12-27,now() 等格式。
expr:表示数量。
unit:表示单位,支持毫秒(microsecond),秒(second),小时(hour),天(day),周(week),年(year)等。
select date_add(now(),interval 1 day);
>2018-05-21 20:10:17
6.类型转换 CAST(expr AS type)
select cast(18700000000 as char);
>18700000000
7.加密函数 md5(data)
支持的加密函数有:
md5()
des_encrypt(加密) / des_decrypt(解密);
sha1()
password() 等等
select md5("admin");
21232f297a57a5a743894a0e4a801fc3
update user set name=md5(name),updated_time=now() where id=1;
8.字符串连接 concat(str,str2,str3)
select concat("name","user");
nameuser
9.JSON函数(5.7版本才支持) json_object(函数)
判断是否为json字符串的json_valid():
select json_valid('{"name": "admin", "database": "MySQL"}');
json_array|json_object 转换字符串为json
>select json_object("database","MySQL");
>{ "database": "MySQL"}