SQLSERVER 日期和时间

发布时间 2023-11-17 15:22:10作者: 草木物语

日期和时间数据类型

数据类型格式范围精确度存储大小(字节)用户定义的秒的小数部分精度时区偏移量
time hh:mm:ss[.nnnnnnn] 00:00:00.0000000 到 23:59:59.9999999 100 纳秒 3 到 5
date YYYY-MM-DD 0001-01-01 到 31.12.99 1 天 3
smalldatetime YYYY-MM-DD hh:mm:ss 1900-01-01 到 2079-06-06 1 分钟 4
datetime YYYY-MM-DD hh:mm:ss[.nnn] 1753-01-01 到 9999-12-31 0.00333 秒 8
datetime2 YYYY-MM-DD hh:mm:ss[.nnnnnnn] 0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.9999999 100 纳秒 6 到 8
datetimeoffset YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm 0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.9999999(以 UTC 时间表示) 100 纳秒 8 到 10

日期和时间函数

系统日期和时间函数

-- 系统日期和时间函数
SELECT SYSDATETIME()                -- 2023-11-16 15:36:52.0075417
     , SYSDATETIMEOFFSET()          -- 2023-11-16 15:36:52.0075417+8
     , SYSUTCDATETIME()             -- 2023-11-16 07:36:52.0075417
     , CURRENT_TIMESTAMP            -- 2023-11-16 15:36:52.007
     , GETDATE()                    -- 2023-11-16 15:36:52.007
     , GETUTCDATE()                 -- 2023-11-16 07:36:52.007
     , CONVERT(DATE, SYSDATETIME()) -- 2023-11-16
     , CONVERT(TIME, SYSDATETIME()) -- 17:04:00.3993961

返回日期和时间部分的函数

-- 返回日期和时间部分的函数
SELECT DATENAME(year, SYSDATETIME())      -- 2023  year, yyyy, yy
     , YEAR(SYSDATETIME())                -- 2023
     , DATENAME(quarter, SYSDATETIME())   -- 4 quarter, qq, q
     , DATENAME(month, SYSDATETIME())     -- 11 month, mm, m
     , MONTH(SYSDATETIME())               -- 11
     , DATENAME(day, SYSDATETIME())       -- 16 day, dd, d
     , DAY(SYSDATETIME())                 -- 16
     , DATENAME(dayofyear, SYSDATETIME()) -- 320 dayofyear, dy, y
     , DATENAME(week, SYSDATETIME())      -- 46 week, wk, ww
     , DATENAME(weekday, SYSDATETIME())   -- 星期四 weekday, dw
     , DATEPART(weekday, SYSDATETIME())   -- 5 weekday, dw
     , DATENAME(hour, SYSDATETIME())      -- 17 hour, hh
     , DATENAME(minute, SYSDATETIME())    -- 13 minute, n
     , DATENAME(second, SYSDATETIME()) -- 48 second, ss, s
;

  

 

 附:

datepart参数 https://learn.microsoft.com/zh-cn/sql/t-sql/functions/datename-transact-sql?view=sql-server-2016#examples

datepart返回值
year, yyyy, yy 2007
quarter, qq, q 4
month, mm, m 10 月
dayofyear, dy, y 303
day, dd, d 30
week, wk, ww 44
weekday, dw 星期二
hour, hh 12
minute, n 15
second, ss, s 32
millisecond, ms 123
microsecond, mcs 123456
nanosecond, ns 123456700
TZoffset, tz +05:10
ISO_WEEK, ISOWK, ISOWW 44

 

官方文档:

https://learn.microsoft.com/zh-cn/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql?view=sql-server-2016