mysql 日期函数总结

本文介绍了使用SQL进行日期和时间操作的各种方法,包括获取当前日期时间、计算日期间的差异、查询特定时间范围内的数据等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.DAY();    WEEK();    MONTH();   YEAR();

SELECT DAY(CURDATE()) #查询今天是这个月的第几天
SELECT MONTH(CURDATE()) #查询今天是今年的第几月
SELECT YEAR(CURDATE())  #查询今天是几几年
SELECT WEEK(CURDATE()) #查询今天是今年的第几个星期

2. NOW(),CURDATE(),CURTIME()

SELECT NOW(),CURDATE(),CURTIME()
结果:
NOW()    2008-12-29 16:25:46  
CURDATE()    2008-12-29
CURTIME()   16:25:46

3.查询上两个月的数据与查询到上两月1号的数据,查询方法不一样

 date >= DATE(NOW())-INTERVAL 2 MONTH  ##查询上两个月
 DATE_FORMAT(time,'%Y-%m') >= DATE_FORMAT( DATE(NOW())-INTERVAL 2 MONTH,'%Y-%m') ##查询到上两月1号的

4.查询当前周数 YEARWEEK('2019-3-24');   WEEKOFYEAR('2019-1-11');


SELECT YEARWEEK('2019-3-24');  ##当期日期的周的唯一标识
SELECT WEEKOFYEAR('2019-1-11');  ##当前日期所在周数

5.PERIOD_DIFF(P1,P2) 函数


返回周期P1和P2之间的月数。 P1和P2格式为YYMM(即'%y%m')或YYYYMM(即'%Y%m')

SELECT * FROM sf_resource WHERE PERIOD_DIFF( DATE_FORMAT(CURDATE(),'%Y%m'),DATE_FORMAT(purchase_time,'%Y%m'))=1

 

6.TIMESTAMPDIFF() 与DATEDIFF()

DATEDIFF(date1,date2):返回两个日期间相差的天数,date1-date2.只有日期为参加计算,分秒时被忽略

TIMESTAMPDIFF(time,timestamp1,timestamp2) :以time为单位,计算timestamp2-timestamp1

SELECT DATEDIFF('2019-4-4 09:00:00', '2019-4-2 22:00:00');
    --->2
SELECT DATEDIFF('2019-4-4 09:00:00', '2019-4-2 9:00:00');
    --->2

SELECT TIMESTAMPDIFF(DAY, '2019-04-1 23:59:00', '2019-04-2 00:00:00');
    --->0
SELECT TIMESTAMPDIFF(HOUR, '2019-04-1 23:59:00', '2019-04-2 00:00:00');
    --->0
SELECT TIMESTAMPDIFF(MINUTE, '2019-04-1 23:59:00', '2019-04-2 00:00:00');
    --->1
SELECT TIMESTAMPDIFF(SECOND, '2019-04-1 23:59:00', '2019-04-2 00:00:00');
    --->60

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值