sql語句根據日期查詢,本週,本月,本年,今日相關統計
昨天
select * from tb where datediff(day, 時間欄位 ,getdate()) = 1
今天
select * from tb where datediff(day, 時間欄位 ,getdate()) = 0
本週
select * from tb where datediff(week, 時間欄位 ,getdate()) = 0
上週
select * from tb where datediff(week, 時間欄位 ,getdate()) = 1
下週
select * from tb where datediff(week, 時間欄位 ,getdate()) = -1
上月
Select * From TableName Where DateDiff(month, DateTimCol, GetDate()) = 1
本月
Select * From TableName Where DateDiff(month, DateTimCol, GetDate()) = 0
下月
Select * From TableName Where DateDiff(month, GetDate(), DateTimCol ) = -1
本年
Select * From TableName Where DateDiff(year, GetDate(), DateTimCol ) = 0
昨天:dateadd(day,-1,getdate())
明天:dateadd(day,1,getdate())
上月:month(dateadd(month, -1, getdate()))
本月:month(getdate())
下月:month(dateadd(month, 1, getdate()))
昨天
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 提出日期, datepart(year,getdate()) as 當前年 from 供方資料表
前一年
select 提出日期, datepart(year,getdate())-1 as 當前年 from 供方資料表
後一年
select 提出日期, datepart(year,getdate())+1 as 當前年 from 供方資料表
SQL 日期函式
1. 當前系統日期、時間
select getdate()
2. dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'2004-10-15′) –返回:2004-10-17 00:00:00.000
3. datediff 返回跨兩個指定日期的日期和時間邊界數。
select datediff(day,'2004-09-01′,'2004-09-18′) –返回:17
4. datepart 返回代表指定日期的指定日期部分的整數。
SELECT DATEPART(month, '2004-10-15′) –返回 10
5. datename 返回代表指定日期的指定日期部分的字串
SELECT datename(weekday, '2004-10-15′) –返回:星期五
6. day(), month(),year() –可以與datepart對照一下
select 當前日期=convert(varchar(10),getdate(),120)
,當前時間=convert(varchar(8),getdate(),114)
select datename(dw,'2004-10-15′)
select 本年第多少周=datename(week,'2004-10-15′)
,今天是周幾=datename(weekday,'2004-10-15′)
舉例:
1.GetDate() 用於sql server :select GetDate()
2.DateDiff('s','2005-07-20′,'2005-7-25 22:56:32′)返回值為 514592 秒
DateDiff('d','2005-07-20′,'2005-7-25 22:56:32′)返回值為 5 天
3.DatePart('w','2005-7-25 22:56:32′)返回值為 2 即星期一(週日為1,週六為7)
DatePart('d','2005-7-25 22:56:32′)返回值為 25即25號
DatePart('y','2005-7-25 22:56:32′)返回值為 206即這一年中第206天
DatePart('yyyy','2005-7-25 22:56:32′)返回值為 2005即2005年