您的位置:首页 > 数据库

常用日期计算SQL语句

2017-02-06 17:35 211 查看
--  本月的第一天
SELECT DATEADD(mm, DATEDIFF(mm,[b]0[/b],getdate()), [b]0[/b])
--  本月的最后一天
SELECT DATEADD(ms,-[b]3[/b],DATEADD(mm, DATEDIFF(m,[b]0[/b],getdate())+[b]1[/b], [b]0[/b]))
--  上个月的第一天
SELECT DATEADD(m,-[b]1[/b], DATEADD(mm, DATEDIFF(mm,[b]0[/b],getdate()), [b]0[/b]))
--  上个月的最后一天
SELECT DATEADD(ms,-[b]3[/b],DATEADD(mm, DATEDIFF(mm,[b]0[/b],getdate()), [b]0[/b]))
--  本周的星期一
SELECT DATEADD(wk, DATEDIFF(wk,[b]0[/b],getdate()), [b]0[/b])
--  本周的周日
SELECT DATEADD(d,+[b]6[/b] ,DATEADD(wk, DATEDIFF(wk,[b]0[/b],getdate()), [b]0[/b]) )
--  上周的星期一
SELECT DATEADD(d,-[b]7[/b] ,DATEADD(wk, DATEDIFF(wk,[b]0[/b],getdate()), [b]0[/b]) )
--  上周的周日
SELECT DATEADD(d,-[b]1[/b] ,DATEADD(wk, DATEDIFF(wk,[b]0[/b],getdate()), [b]0[/b]) )
--  一年的第一天
SELECT DATEADD(yy, DATEDIFF(yy,[b]0[/b],getdate()), [b]0[/b])
--  季度的第一天
SELECT DATEADD(qq, DATEDIFF(qq,[b]0[/b],getdate()), [b]0[/b])
--  去年的最后一天
SELECT DATEADD(ms,-[b]3[/b],DATEADD(yy, DATEDIFF(yy,[b]0[/b],getdate()), [b]0[/b]))
--  本月的第一个星期一
SELECT DATEADD(wk, DATEDIFF(wk,[b]0[/b],DATEADD(dd,[b]6[/b]-datepart(day,getdate)),getdate))),[b]0[/b])
--  本年的最后一天
SELECT DATEADD(ms,-[b]3[/b],DATEADD(yy, DATEDIFF(yy,[b]0[/b],getdate())+[b]1[/b], [b]0[/b]))。
--  --  --  --  --  --  --  --  --  --  --  --  --  --  --
--  Sql Server中的日期与时间函数 --  当前系统日期、时间
SELECT getdate()
--  DATEADD 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
SELECT DATEADD(day,[b]2[/b],'2004-10-15') --  返回:2004-10-17 00:00:00.000
--  datediff 返回跨两个指定日期的日期和时间边界数。
SELECT datediff(day,'2004-09-01','2004-09-18') --  返回:17
--  datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, '2004-10-15') --  返回 10
--  datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --  返回:星期五
--  day(), month(),year() --  可以与datepart对照一下
--  --  --  --  --  --  --  --  --  --  --  --  --  --  --
SELECT 当前日期=convert(varchar([b]10[/b]),getdate(),[b]120[/b])
SELECT 当前时间=convert(varchar([b]8[/b]),getdate(),[b]114[/b])
SELECT datename(dw,'2004-10-15')
SELECT 本年第多少周=datename(week,'2004-10-15')
SELECT 今天是周几=datename(weekday,'2004-10-15')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: