天天看點

SQL資料庫時間擷取技巧

SQL 時間操作的常用語句:

1.擷取今天的一個時間段

select dtb from 表 where 進出時間>CONVERT(char(10),GETDATE(),120) and 進出時間<CONVERT(char(10),DATEADD(day,1,GETDATE()),120)      
--目前日期:
select convert(varchar(10), getdate(),120)
--目前日期 + 時間
select getdate()

--一個月的第一天
select dateadd(mm,datediff(mm,0,getdate()),0)

--本周的星期一
select dateadd(wk,datediff(wk,0,getdate()),0)

-- 一年的第一天
select dateadd(yy,datediff(yy,0,getdate()),0)

-- 季度的第一天
select dateadd(qq,datediff(qq,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)