sql server日期比較日期查詢常用語句

2021-09-12 02:29:18 字數 2179 閱讀 6734

乙個月第一天:

select dateadd(mm, datediff(mm,0,getdate()), 0)

本週的星期一 周(wk):

select dateadd(wk, datediff(wk,0,getdate()), 0)

一年的第一天 年(yy):

select dateadd(yy, datediff(yy,0,getdate()), 0)

季度的第一天:

select dateadd(qq, datediff(qq,0,getdate()), 0)

當天的半夜 :

select dateadd(dd, datediff(dd,0,getdate()), 0)

上個月的最後一天:

select dateadd(ms,-3,dateadd(mm, datediff(mm,0,getdate()), 0))

去年的最後一天 :

select dateadd(ms,-3,dateadd(yy, datediff(yy,0,getdate()), 0))

本月的最後一天 :

select dateadd(ms,-3,dateadd(mm, datediff(m,0,getdate())+1, 0))

本年的最後一天 :

select dateadd(ms,-3,dateadd(yy, datediff(yy,0,getdate())+1, 0))

本月的第乙個星期一 :

select dateadd(wk, datediff(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)

1)去掉時分秒

declare @ datetime

set @ = getdate() --『2003-7-1 10:00:00』

select @,dateadd(day, datediff(day,0,@), 0)

2)顯示星期幾

select datename(weekday,getdate())

3)如何取得某個月的天數

declare @m int

set @m=2 --月份

select datediff(day,『2003-』+cast(@m as varchar)+』-15』 ,『2003-』+cast(@m+1 as varchar)+』-15』)

另外,取得本月天數

select datediff(day,cast(month(getdate()) as varchar)+』-』+cast(month(getdate()) as varchar)+』-15』 ,cast(month(getdate()) as varchar)+』-』+cast(month(getdate())+1 as varchar)+』-15』)

或者使用計算本月的最後一天的指令碼,然後用day函式區最後一天

select day(dateadd(ms,-3,dateadd(mm, datediff(m,0,getdate())+1, 0)))

4)判斷是否閏年:

select case day(dateadd(mm, 2, dateadd(ms,-3,dateadd(yy, datediff(yy,0,getdate()), 0)))) when 28 then 『平年』 else 『閏年』 end

或者select case datediff(day,datename(year,getdate())+』-02-01』,dateadd(mm,1,datename(year,getdate())+』-02-01』))

when 28 then 『平年』 else 『閏年』 end

5)乙個季度多少天

declare @m tinyint,@time smalldatetime

select @m=month(getdate())

select @m=case when @m between 1 and 3 then 1

when @m between 4 and 6 then 4

when @m between 7 and 9 then 7

else 10 end

select @time=datename(year,getdate())+』-』+convert(varchar(10),@m)+』-01』

select datediff(day,@time,dateadd(mm,3,@time))

SQL Server 中日期比較

1.當前系統日期 時間 select getdate 2.dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如 向日期加上2天 select dateadd day,2,2004 10 15 返回 2004 10 17 00 00 00.000 3.datediff...

sqlserver中比較日期大小

起始日期和終止日期,相信聰明的你肯定可以想象出為什麼要有兩個日期控制項!是的,就是從一張表中查詢出在這兩個日期範圍類的記錄!有的人就說了,這還不簡單!假如我們將第乙個控制項定義成begin,第二個控制項定義成over!那麼查詢語句不就是 select from recharge info where...

SQL Server 如何比較日期的大小

在機房收費系統中,有幾處這樣的情況 起始日期和終止日期,相信聰明的你肯定可以想象出為什麼要有兩個日期控制項!是的,就是從一張表中查詢出在這兩個日期範圍類的記錄!有的人就說了,這還不簡單!假如我們將第乙個控制項定義成begin,第二個控制項定義成over!那麼查詢語句不就是 select from r...