1.日期转换为字符串
DATE_FORMAT (date, format)能根据格式串format 格式化日期或日期和时间值date,返回结果串。除下述格式外还有很多的格式,如%M 表示月名(January,February.......)
这里介绍使用多的%Y%m%d %H:%i:%s ,其余如有需要可以百度上查找
select DATE_FORMAT(now(),'%Y%m%d %H:%i:%s');
20181221 16:05:50
2.字符串转为日期
STR_TO_DATE(str,format)函数是将时间格式的字符串(str),按照所提供的显示格式(format)转换为DATETIME类型的值
select STR_TO_DATE('20180912 230212','%Y%m%d %H%i%s');
2018-09-12 23:02:12
3.截取函数
subdate(date,day)截取时间,时间减去后面的day
subtime(expr1,expr2) 时分秒expr1-expr2
substring(str,index,len) 截取str,从index开始,截取len长度,等同于substr()
select SUBSTRING('20180912 230212',1,8);
20180912
select now(),SUBDATE(now(),2)
select now(),SUBTIME(now(),'12:15:22')
4.字符串,日期转为整型
CAST函数语法规则是:Cast(字段名 as 转换的类型 ),其中类型可以为:
CHAR[(N)] 字符型
DATE 日期型
DATETIME 日期和时间型
DECIMAL float型
SIGNED int
TIME 时间型
select CAST(now() as signed);
select CAST('123' as signed)
5.字符串拼接函数
concat(str1, str2,...)返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null
group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。
SELECT GROUP_CONCAT(userid separator ';') from user
1;2;3;4;5;6;7;22;23
SELECT GROUP_CONCAT(userid) from user
1,2,3,4,5,6,7,22,23
6.字符串截取提取前n个函数
substring_index(str,delim,count)
str:要处理的字符串
delim:分隔符
count:计数
一般我们用来提取个元素
str=http://www.baidu.com
substring_index(str,'.',1)
结果是:www
substring_index(str,'.',2)
结果是:www.baidu