为什么80%的码农都做不了架构师?>>>
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:002.获取时间部分值例子
select convert(date,getdate()); --2012-05-06
select convert(time,getdate()); --22:31:10.4200000select datepart(yyyy,getdate()); --2012
select datepart(month,gatedate()); --5
select datepart(day,getdate()); --6
select datepart(week,getdate()); --19select 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 nsFunc2: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, isowwFunc4:DATENAME(datepart,date)
datename中datepart值基本等同于datepart函数,只是返回值是nvarchar类型
--参考Microsoft Document Explore of Transact-SQL