MSSQL獲取昨天,本周,本月。。。

openkk 12年前發布 | 2K 次閱讀 5.2.1版本發布

本周:select * from table where datediff(week,C_CALLTIME,getdate())=0 --C_CALLTIME 為日期字段

本月:select * from table where datediff(Month,C_CALLTIME,getdate())=0 --C_CALLTIME 為日期字段

本季:select * from table where datediff(qq,C_CALLTIME,getdate())=0

前半年1-6,后半年7-12:select * from table where datepart(mm,C_CALLTIME)/7 = datepart(mm,getdate())/7

昨天

select convert(varchar(10),getdate() - 1,120)

明天

select convert(varchar(10),getdate() + 1,120)

最近七天

select * from tb where 時間字段 >= convert(varchar(10),getdate() - 7,120)

隨后七天

select * from tb where 時間字段 <= convert(varchar(10),getdate() + 7,120) and 時間字段 >= 時間字段

convert和dateadd函數結合使用就可以了。

用datediff(day,時間列,getdate())

上月

select * from tb where month(時間字段) = month(getdate()) - 1

本月

select * from tb where month(時間字段) = month(getdate())

下月

select * from tb where month(時間字段) = month(getdate()) + 1

--如果是在表中查詢

--昨天

Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) = 1

--明天

Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) = 1

--最近七天

Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) <= 7

--隨后七天

Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) <= 7

--上周

Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 1

--本周

Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 0

--下周

Select * From TableName Where DateDiff(wk, GetDate(), DateTimCol ) = 1

--上月

Select * From TableName Where DateDiff(mm, DateTimCol, GetDate()) = 1

--本月

Select * From TableName Where DateDiff(mm, DateTimCol, GetDate()) = 0

--下月

Select * From TableName Where DateDiff(mm, GetDate(), DateTimCol ) = 1

--------------------------------------------------------

本周

select * from tb where datediff(week , 時間字段 ,getdate()) = 0

上周

select * from tb where datediff(week , 時間字段 ,getdate()) = 1

下周

select * from tb where datediff(week , 時間字段 ,getdate()) = -1

--------------------------------------------------------

1.現在我需要得到只是日期部分,時間部分不要,SQL怎么寫?

select convert(varchar(10),getdate(),120)

2.求以下日期SQL:

昨天

select convert(varchar(10),getdate() - 1,120)

明天

select convert(varchar(10),getdate() + 1,120)

最近七天

select * from tb where 時間字段 >= convert(varchar(10),getdate() - 7,120)

隨后七天

select * from tb where 時間字段 <= convert(varchar(10),getdate() + 7,120) and 時間字段 >= 時間字段

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!