mysql日期函数

1.DATE_SUB(date,INTERVAL expr unit) 

返回date减去一个时间段后的日期,DATE_SUB()返回的是格式化后的时间:yyyy-MM-dd

例子:查询小于当前时间一个月的数据

SELECT * from v2_u_recharge_order WHERE create_at < DATE_SUB(CURDATE(),INTERVAL 1 MONTH)

MySQL中的日期间隔类型如下表所示:

类型(type值)含义expr表达式的形式
YEARYY
MONTHMM
DAYDD
HOURhh
MINUTEmm
SECONDss
YEAR_MONTH年和月YY和MM之间用任意符号隔开
DAY_HOUR日和小时DD和hh之间用任意符号隔开
DAY_MINUTE日和分钟DD和mm之间用任意符号隔开
DAY_SECOND日和秒钟DD和ss之间用任意符号隔开
HOUR_MINUTE时和分hh和mm之间用任意符号隔开
HOUR_SECOND时和秒hh和ss之间用任意符号隔开
MINUTE_SECOND分和秒mm和ss之间用任意符号隔开

2.DATE_ADD(date,INTERVAL expr unit) 

同上返回date加一个时间段后的日期

例子:对某个日期加上几天几小时几分钟几秒钟

SELECT * from v2_u_recharge_order WHERE create_at < date_add('2019-09-09 23:59:59',INTERVAL '2 2:1:1' DAY_SECOND);

3.时间戳与时间的转换

UNIX_TIMESTAMP() 时间转时间戳

FROM_UNIXTIME(unix_timestamp) 时间戳转时间

 

4.DATEDIFF() 函数返回两个日期之间的天数。

例子:查询当天

传统:

SELECT * FROM v2_u_recharge_order WHERE DATE_FORMAT(create_at,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')");

DATEDIFF()写法:

SELECT * FROM `t` WHERE DATEDIFF(create_at,NOW()) =0;

注:返回当天时间的mysql函数有CURDATE()、CURRENT_DATE()、CURRENT_DATE、NOW()几种;其中NOW()获取的日期格式为0000-00-00 00:00:00的时间;CURDATE()、CURRENT_DATE()、CURRENT_DATE是获取日期格式为0000-00-00的时间,所以返回的时间无时分秒;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值