1、返回当前日期和时间
-
select
GETDATE()
'当前日期-精确到33毫秒'
-
-
select
GETUTCDATE()
'UTC日期和时间-精确到33毫秒'
-
-
select SYSDATETIME()
'当前日期和时间-精确到100纳秒(高精度)'
-
-
select
SYSUTCDATETIME()
'UTC-精确到100纳秒(高精度)'
-
-
select
SYSDATETIMEOFFSET()
'当前日期与UTC之间的差值(时分)'
2、转换偏移,从一个转为另一个,从UTC-05:00转为UTC+03:00:
'2007-08-12 10:20:35.9788989'是UTC减去'05:00'之后算出来的,
所以UTC是'2007-08-12 10:20:35.9788989'加'05:00',
也就是'2007-08-12 15:20:35.9788989',
然后'2007-08-12 15:20:35.9788989'加上'03:00',
也就是'2007-08-12 18:20:35.9788989'
select SWITCHOFFSET('2007-08-12 10:20:35.9788989 -05:00','+03:00')
将普通的日期时间型转为日期时间偏移,只是在日期时间后增加了offset值,返回:2007-08-12 10:20:35.0000000 -05:00
select TODATETIMEOFFSET('2007-08-12 10:20:35','-05:00')
3、显示日期一部分的字符串
-
select SYSDATETIME(),
-
DATENAME(
year,SYSDATETIME()),
-
DATENAME(
quarter,SYSDATETIME()),
-
DATENAME(
month,SYSDATETIME()),
-
-
DATENAME(
dayofyear,SYSDATETIME()),
-
DATENAME(
day,SYSDATETIME()),
-
-
DATENAME(
week,SYSDATETIME()),
-
DATENAME(
weekday,SYSDATETIME()),
-
-
DATENAME(
hour,SYSDATETIME()),
-
DATENAME(
minute,SYSDATETIME()),
-
DATENAME(
second,SYSDATETIME()),
-
DATENAME(millisecond,SYSDATETIME()),
-
DATENAME(
microsecond,SYSDATETIME()),
-
DATENAME(nanosecond,SYSDATETIME()),
-
-
DATENAME(TZoffset,SYSDATETIME()),
-
DATENAME(ISO_WEEK,SYSDATETIME())
4、显示日期一部分的整数
-
select
YEAR(
GETDATE()),
-
MONTH(
getdate()),
-
DAY(
getdate())
-
-
-
select SYSDATETIME(),
-
DATEPART(
year,SYSDATETIME()),
-
DATEPART(
quarter,SYSDATETIME()),
-
DATEPART(
month,SYSDATETIME()),
-
-
DATEPART(
dayofyear,SYSDATETIME()),
-
DATEPART(
day,SYSDATETIME()),
-
-
DATEPART(
week,SYSDATETIME()),
-
DATEPART(
weekday,SYSDATETIME()),
-
-
DATEPART(
hour,SYSDATETIME()),
-
DATEPART(
minute,SYSDATETIME()),
-
DATEPART(
second,SYSDATETIME()),
-
-
DATEPART(millisecond,SYSDATETIME()),
-
DATEPART(
microsecond,SYSDATETIME()),
-
DATEPART(nanosecond,SYSDATETIME()),
-
DATEPART(TZoffset,SYSDATETIME()),
-
DATEPART(ISO_WEEK,SYSDATETIME())
5、增加、减少日期值
-
SELECT
DATEADD(
quarter,
1,
getdate()),
-
DATEADD(
quarter,
-1,
getdate())
6、计算两个日期的差值
-
select
DATEDIFF(
DAY,
'2011-08-09',
GETDATE()),
-
DATEDIFF(
MONTH,
'2011-08-09',
GETDATE())