--函数返回两个日期之间的时间。 参数m是月 d是天 DATEDIFF(datepart,startdate,enddate)
--0代表日期的起始位置 1900-1-1日
select DATEDIFF(m,0,getdate()) --1458个月 --参考d的效果:select DATEDIFF(d,'1900-01-01','2021-07-07')
--day() 函数,获取当前时间的天数
select -day(getdate())
--sqlserver时间的起始值就是 1900-01-01 00:00:00
select CONVERT(datetime,0)
--获取当月最后一天(下个月第一天时间毫秒-3 就是当前月的最后一天)
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
--当前月第一天 DATEADD(daprt参数,number是希望加的间隔数,date是一个日期)
select DATEADD(MM,DATEDIFF(MM,0,GETDATE()),0)
--获取当前时间上一个月第一天
select DATEADD(mm, DATEDIFF(m,0,getdate())-1, 0)
--获取当前时间上一个月的最后一天
select dateadd(ms,-3,DATEADD(MM,DATEDIFF(MM,0,GETDATE()),0))
--获取当前月的下一个月第一天
select DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)
--获取当前时间下个月最后一天
SELECT dateadd(month,1,dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)))
获取各种时间的sql 语句
于 2022-04-18 11:40:19 首次发布
本文深入探讨了SQL中DATEDIFF、DAY等日期函数的使用,包括计算日期间隔、获取当前月份天数以及如何获取特定月份的第一天和最后一天。通过实例展示了如何获取上一月及下一月的日期,对于数据库管理和数据分析工作极具参考价值。
摘要由CSDN通过智能技术生成