SQL 日期函数
1.当前系统日期、时间
select getdate()
2. dateadd在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'-10-15′)–返回:-10-17 00:00:00.000
3. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,'-09-01′,'-09-18′)–返回:17
4. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, '-10-15′)–返回 10
5. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '-10-15′)–返回:星期五
6. day(), month(),year() –可以与datepart对照一下
select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)
select datename(dw,'-10-15′)
select 本年第多少周=datename(week,'-10-15′)
,今天是周几=datename(weekday,'-10-15′)
今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=17天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=730天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30本月的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0本年的所有数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0
昨天
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