几个SQL日期处理
使用SQL操作日期的几个方法:
表示当天开始时间: CONVERT(datetime, CONVERT(char(10), getdate(), 120))
表示当天12:00点:CONVERT(datetime, CONVERT(char(11), getdate(), 120)+'12:00:00.000')
表示当周开始时间(星期日开始):DATEADD(Day, 1, DATEADD(Day, -DATEPART(Weekday, CONVERT(datetime, CONVERT(char(10), getdate(), 120))), CONVERT(datetime, CONVERT(char(10), getdate(), 120))))
表示当周开始时间(星期一开始):DATEADD(Day, 1 - (DATEPART(Weekday, CONVERT(datetime, CONVERT(char(10), getdate(), 120))) + @@DATEFIRST-2)%7 - 1, CONVERT(datetime, CONVERT(char(10), getdate(), 120)))
表示当前日期的上一周:DATEADD(day, -7, getdate())
2、在企业库的使用中,如果是varchar字段使用的数据类型为DbType.AnsiString,如果是nvarchar字段使用的数据类型为DbType.String
表示当天开始时间: CONVERT(datetime, CONVERT(char(10), getdate(), 120))
表示当天12:00点:CONVERT(datetime, CONVERT(char(11), getdate(), 120)+'12:00:00.000')
表示当周开始时间(星期日开始):DATEADD(Day, 1, DATEADD(Day, -DATEPART(Weekday, CONVERT(datetime, CONVERT(char(10), getdate(), 120))), CONVERT(datetime, CONVERT(char(10), getdate(), 120))))
表示当周开始时间(星期一开始):DATEADD(Day, 1 - (DATEPART(Weekday, CONVERT(datetime, CONVERT(char(10), getdate(), 120))) + @@DATEFIRST-2)%7 - 1, CONVERT(datetime, CONVERT(char(10), getdate(), 120)))
表示当前日期的上一周:DATEADD(day, -7, getdate())
2、在企业库的使用中,如果是varchar字段使用的数据类型为DbType.AnsiString,如果是nvarchar字段使用的数据类型为DbType.String