设为首页 加入收藏

TOP

T-SQL日期处理总结(二)
2014-11-24 01:41:43 来源: 作者: 【 】 浏览:13
Tags:T-SQL 日期 处理 总结
E() AS Val,CONVERT(char(11),GETDATE(),120)+CONVERT(char(12),GETDATE(),114) AS NeedVal www.2cto.com
2. T-SQL 日期推算
给定日期,得到该年的第一天和最后一天
给定日期所在季度的第一天和最后一天
给定日期所在月份的第一天或最后一天
给定日期所在周的取星期几的日期,星期天做为一周的第1天
昨天
前天
明天
后天
上一年
下一年
上季度
下季度
上月
下月
上周
下周
前一小时
后一小时
前一分钟
后一分钟
前一秒
后一秒
代码:
1: --给定日期,得到该年的第一天和最后一天
2: SELECT CONVERT(char(5),GETDATE(),120)+'1-1' AS FDATE,CONVERT(char(5),GETDATE(),120)+'12-31' LDTAE
3:
4: --给定日期所在季度的第一天和最后一天,两种方法算最后一天
5: SELECT CONVERT(datetime,CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,GETDATE())*3-Month(GETDATE())-2,GETDATE()),120)+'1') AS FDATE
6: ,CONVERT(datetime,CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,GETDATE())*3-Month(GETDATE()),GETDATE()),120)
7: +CASE WHEN DATEPART(Quarter,GETDATE()) in(1,4)
8: THEN '31'ELSE '30' END) AS LDATE
9:
10:
11: SELECT CONVERT(datetime,CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,GETDATE())*3-Month(GETDATE())-2,GETDATE()),120)+'1') AS FDATE
12: ,DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1+DATEPART(Quarter,GETDATE())*3-Month(GETDATE()),GETDATE()),120)+'1') AS LDATE
13:
14: --给定日期所在月份的第一天和最后一天
15: SELECT CONVERT(datetime,CONVERT(char(8),GETDATE(),120)+'1') AS FDATE,DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,GETDATE()),120)+'1') AS LDATE www.2cto.com
16:
17: --给定日期所在周的取星期几的日期,星期天做为一周的第1天
18: SELECT DATEADD(Day,0-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
19: SELECT DATEADD(Day,1-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
20: SELECT DATEADD(Day,2-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
21: SELECT DATEADD(Day,3-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
22: SELECT DATEADD(Day,4-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
23: SELECT DATEADD(Day,5-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
24: SELECT DATEADD(Day,6-(DATEPART(Weekday,GETDATE())+@@DATEFIRST-1)%7,GETDATE())
25:
26: --昨天
27: SELECT DATEADD(Day,-1,GETDATE())
28: --前天
29: SELECT DATEADD(Day,-2,GETDATE())
30: --明天
31: SELECT DATEADD(Day,1,GETDATE())
32: --后天
33: SELECT DATEADD(Day,2,GETDATE())
34:
35: --上一年
36: SELECT DATEADD(year,-1,GETDATE())
37:
38: --下一年
39: SELECT DATEADD(year,1,GETDATE())
40:
41: --上季度
42: SELECT DATEADD(quarter,-1,GETDATE())
43:
44: --下季度
45: SELECT DATEADD(quarter,1,GETDATE())
46:
47: --上月
48: SELECT DATEADD(month,-1,GETDATE())
49:
50: --下月
51: SELECT DATEADD(month,1,GETDATE())
52:
53: --上周
54: SELECT DATEADD(week,-1,GETDATE())
55:
56: --下周
57: SELECT DATEADD(week,1,GETDATE())
58:
59: --前一小时
60: SELECT DATEADD(hour ,-1,GETDATE())
61:
62: --后一小时
63: SELECT DATEADD(hour ,1,GETDATE())
64:
65: --前一分钟
66: SELECT DATEADD(minute,-1,GETDATE())
67:
68: --后一分钟
69: SELECT DATEADD(minute,1,GETDATE())
70:
71: --前一秒
72: SELECT DATEADD(second ,-1,GETDATE())
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇T-SQL表连接(内连接,外连接,交叉.. 下一篇使用T-SQL进行数据库备份并检查该..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: