博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SQL中取时间方法,以备后用

Posted on 2010-12-16 14:22  David.guo的丹麦童话  阅读(421)  评论(0)    收藏  举报

select CONVERT(nvarchar(100), GETDATE(), 23) + ' 00:00:00'   --返回今日的时间起点, 其中CONVERT(nvarchar(100), GETDATE(), 23),是把时间部分去掉,只保留日期部分

 

select dateadd(d,-day(getdate())+1,getdate())  --返回本月第一天的当前时间

 

select convert(nvarchar(100), dateadd(d,-day(getdate())+1,getdate()), 23)+ ' 00:00:00'     --返回本月的时间起点 (字符品格式)

select convert(datetime, CONVERT(nvarchar(100), DATEADD(d, - DAY(GETDATE()) + 1, GETDATE()), 23))  --返回本月时间起点 (时间格式)

select convert(nvarchar(100), dateadd(d,-day(getdate()),dateadd(m,1,getdate())), 23) + ' 23:59:59'  --返回本月的最后一天时间终点 (字符串格式)
select convert(datetime, CONVERT(nvarchar(100), DATEADD(d, - DAY(GETDATE()) + 1, DATEADD(m, 1, GETDATE())), 23))  ----返回下月时间起点 (时间格式)

 其实,以上只是使用了dateadd 的方法,以及CONVERT(nvarchar(100), GETDATE(), 23) 的运用。