SqlServer时间函数的使用例子整理

整理SqlServer2008的时间函数如下:
1.获取系统时间
select getdate();           --2012-05-06 22:26:49.950
select current_timestamp;   --2012-05-06 22:26:49.950
select getutcdate();        --2012-05-06 14:26:49.950 UTC时间

--更精确的系统时间
select SYSDATETIME();       --2012-05-06 22:26:49.9531250
select SYSUTCDATETIME();    --2012-05-06 14:26:49.9531250   UTC时间
select SYSDATETIMEOFFSET(); --2012-05-06 22:26:49.9531250 +08:00

2.获取时间部分值例子
select convert(date,getdate());  --2012-05-06
select convert(time,getdate());  --22:31:10.4200000

select datepart(yyyy,getdate());    --2012
select datepart(month,gatedate());  --5
select datepart(day,getdate());     --6
select datepart(week,getdate());    --19

select datename(yyyy,getdate());    --2012
select datename(month,gatedate());  --05
select datename(day,getdate());     --6
select datename(week,getdate());    --19

--datepart返回值是整型(int)
--datename返回值是字符串型(nvarhar)

3.时间计算
--加3天,+3,减3天,-3即可
select getdate()+3;                   --2012-05-09 22:31:50.345
select dateadd(day,-3,'2012-05-03');  --2012-05-03 00:00:00.000

--dateadd返回的是date参数对应的类型

4.时间差值计算
select DATEDIFF(DAY,'2012-05-03',GETDATE())   --3,表示相隔3天
select DATEDIFF(month,'2012-03-03',GETDATE()) --2,表示相隔2月
--datediff返回的是int值
 Fun1: DATEADD (datepart,number,date)
datepart选项值如下:
depart       缩写
year         yy, yyyy
quarter      qq, q
month        mm, m
dayofyear    dy, y
day          dd, d
week         wk, ww
weekday      dw, w
hour         hh 
minute       mi, n
second       ss, s
millisecond  ms 
microsecond  mcs 
nanosecond   ns

Func2:DATEDIFF(datepart,startdate,enddate)
datepart    缩写
year        yy, yyyy 
quarter     qq, q  
month       mm, m 
dayofyear   dy, y  
day         dd, d  
week        wk, ww 
hour        hh  
minute      mi, n 
second      ss, s  
millisecond  ms  
microsecond  mcs  
nanosecond   ns 

Func3:DATEPART(datepart,date)
datepart   缩写  
year       yy, yyyy 
quarter    qq, q 
month      mm, m 
dayofyear  dy, y 
day        dd, d 
week       wk, ww 
weekday    dw  
hour       hh  
minute     mi, n  
second     ss, s 
millisecond  ms  
microsecond  mcs  
nanosecond   ns  
TZoffset     tz 
ISO_WEEK     isowk, isoww

Func4:DATENAME(datepart,date)
datename中datepart值基本等同于datepart函数,只是返回值是nvarchar类型
--参考Microsoft Document Explore of Transact-SQL

你可能感兴趣的:(sqlserver,时间函数使用)