笔记57 SQLServer时间日期函数详解

笔记57 SQLServer时间日期函数详解

 1 --SQLServer时间日期函数详解
 2 --1、当前系统日期、时间
 3 select getdate() 
 4 
 5 
 6 --2. 在向指定日期加上一段时间的基础上,返回新的 datetime 值
 7 --1.向日期加上2天
 8 select dateadd(day,2,'2004-10-15')      --返回:2004-10-17 00:00:00.000
 9 
10 --2.向月份加上2天
11 
12 select dateadd(month,2,'2004-10-15')    --返回:2004-12-17 00:00:00.000
13 
14 
15 --3. datediff 返回跨两个指定日期的日期和时间边界数
16 select datediff(day,'2004-09-01','2004-09-18')       --返回:17
17 select datediff(day,'2004-09-18','2004-09-01')       --返回:-17
18 
19 --比较两个datetime 类型数据A、B是否同年同月同日的方法
20 
21 --where datediff(day,A,B) = 0
22 
23 --同样,要比较A、B是否同年同月的方法是:
24 --where datediff(month,A,B) = 0
25 
26 
27 --4. datepart 返回代表指定日期的指定日期部分的整数
28 SELECT DATEPART(month, '2004-10-15')      --返回 10
29 
30 --5. datename 返回代表指定日期的指定日期部分的字符串
31 SELECT datename(weekday, '2004-10-15')      --返回:星期五
32 
33 SELECT datename(weekday, getdate())      --返回:当前星期
34 
35 
36 --6. day(), month(),year() --可以与datepart对照一下
37 select 当前日期=convert(varchar(10),getdate(),120) ,当前时间=convert(varchar(8),getdate(),114) --不用cast而用convert的原因是style
38 --select 当前日期=CAST(GETDATE() AS VARCHAR(10)) ,当前时间=CAST(GETDATE() AS VARCHAR(8))
39 select datename(dw,'2004-10-15')
40 select 本年第多少周=datename(week,'2004-10-15'),今天是周几=datename(weekday,'2004-10-15')
41 
42 --返回当前日期,当前时间,今天周几,本年第几周
43 
44 select convert(varchar(10),getdate(),120) AS 日期
45 ,convert(varchar(8),getdate(),114) AS 当前时间,datename(dw,getdate()) AS 星期几,datename(week,getdate()) AS 第几周
46 
47 --函数 参数/功能
48 --GetDate( )   返回系统目前的日期与时间
49 --DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
50 --DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期
51 --DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值
52 --DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称 

 

posted @ 2013-08-02 22:37  桦仔  阅读(450)  评论(0编辑  收藏  举报