mysql中常用到的时间函数,建议收藏

本文详细介绍了一系列SQL日期操作的实用技巧,包括如何获取昨天、本月1号、本年1号等关键日期,以及如何计算两个日期之间的天数。通过这些技巧,你可以更高效地管理和分析时间序列数据。

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

###昨天
SELECT date_add(curdate(), interval -1 day)
###本月1号
SELECT DATE_FORMAT(now(),'%Y-%m-01')
###本年1号
SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY)
###昨天
SELECT DATE_SUB(curdate(),INTERVAL 1 DAY)
###去年1月1号
SELECT DATE_SUB(date_add(curdate(),interval -1 year),INTERVAL dayofyear(date_add(curdate(),interval -1 year))-1 DAY) 
###去年昨天
SELECT date_add(date_sub(curdate(),interval 1 day),interval -1 year)
###本年1月1号到昨天的总天数
SELECT (to_days(DATE_SUB(curdate(),INTERVAL 1 DAY)) - to_days(DATE_SUB(CURDATE(),INTERVAL dayofyear(CURDATE())-1 DAY)))
###本月1号
SELECT DATE_FORMAT(curdate(),'%Y-%m-01')

###本月最后一天

select last_day(curdate());

###获取当前年月

select date_format( curdate(),'%Y-%m') ;

###1月1号到昨天的天数

select   TIMESTAMPDIFF(DAY, DATE_FORMAT(now(),'%Y-%m-01'),DATE_FORMAT(NOW(), '%Y-%m-%d'));

###获取给定日期月份的1月1日

select DATE_ADD('2020-08-12',INTERVAL -day('2020-08-12')+1 day)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值