SQL SERVER查询当天0点、当月1号、当年第一天的方法

查询当天0点

SELECT **DATEADD**(**DAY**, 0, **DATEDIFF**(**DAY**, 0, **GETDATE**()))
image

查询当月第一天

SELECT **DATEADD**(**MONTH**, **DATEDIFF**(**MONTH**, 0, **GETDATE**()), 0)
image

查询当年第一天

SELECT **DATEADD**(**YEAR**, **DATEDIFF**(**YEAR**, 0, **GETDATE**()), 0)
image

如上内容都可以根据情况去调整,比如调整0为-1,那么就会变成去年,上月,或者昨天等

SELECT DATEADD(DAY, -1, DATEDIFF(DAY, 0, GETDATE())) 昨天
image
SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), -1) 上月最后一天
image
SELECT DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), -1) 去年最后一天
image
SELECT DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE()), -1) 本月最后一天
image

后面的内容就自行测试即可
应用场景一般包含日期条件筛选,确认数据库的某个时间点等。

posted @ 2021-04-27 09:00  Jacob·雅各布  阅读(1847)  评论(0编辑  收藏  举报