日期和时间数据类型
下表列出了 Transact-sql 的日期和时间数据类型.
数据类型 | 格式 | 范围 | 精确度 | 存储大小(以字节为单位) | 用户定义的秒的小数精度 | 时区偏移量 | ||||||||||||||||||
time | hh:mm:ss[.nnnnnnn] | 00:00:00.0000000 到 23:59:59.9999999 | 100 纳秒 | 3 到 5 | 有 | 无 | ||||||||||||||||||
date | YYYY-MM-DD | 0001-01-01 到 9999-12-31 | 1 天 | 3 | 无 | smalldatetime | YYYY-MM-DDhh:mm:ss | 1900-01-01 到 2079-06-06 | 1 分钟 | 4 | datetime | YYYY-MM-DDhh:mm:ss[.nnn] | 1753-01-01 到 9999-12-31 | 0.00333 秒 | 8 | datetime2 | YYYY-MM-DDhh:mm:ss[.nnnnnnn] | 0001-01-01 00:00:00.0000000 到 9999-12-3123:59:59.9999999 | 6 到 8 | datetimeoffset | YYYY-MM-DDhh:mm:ss[.nnnnnnn] [+|-]hh:mm | 0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.9999999(以 UTC 时间表示) | 8 到 10 | 有 |
注意:Transact-sql rowversion 数据类型不是日期或时间数据类型.timestamp 是 rowversion 的同义词,但不推荐使用.
日期和时间函数
用来获取系统日期和时间值的函数
所有系统日期和时间值均得自运行sqlServer 实例的计算机的 *** 作系统.
精度较高的系统日期和时间函数
sql Server 2008 使用 GetSystemTimeAsfileTime()windows API 来获取日期和时间值.精确程度取决于运行 sqlServer 实例的计算机硬件和windows 版本.此API 的精度固定为 100 纳秒.可通过使用GetSystemTimeAdjustment() windows API 来确定该精确度.
函数 | 语法 | 返回值 | 返回数据类型 | 确定性 | |||
SYSDATETIME | SYSDATETIME() | 返回包含计算机的日期和时间的 datetime2(7) 值,sqlServer 的实例正在该计算机上运行.时区偏移量未包含在内. | datetime2(7) | 不具有确定性 | |||
SYSDATETIMEOFFSET | SYSDATETIMEOFFSET () | 返回包含计算机的日期和时间的 datetimeoffset(7) 值,sqlServer 的实例正在该计算机上运行.时区偏移量包含在内. | datetimeoffset(7) | SYSUTcdaTETIME | SYSUTcdaTETIME () | 的实例正在该计算机上运行.日期和时间作为UTC 时间(通用协调时间)返回. | 不具有确定性 |
精度较低的系统日期和时间函数
函数 | 语法 | 返回值 | 返回数据类型 | 确定性 | ||
CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | 的实例正在该计算机上运行.时区偏移量未包含在内. | datetime | 不具有确定性 | ||
GETDATE | GETDATE () | GETUTcdaTE | GETUTcdaTE () | 的实例正在该计算机上运行.日期和时间作为UTC 时间(通用协调时间)返回. | datetime | 不具有确定性 |
用来获取日期和时间部分的函数
函数 | 语法 | 返回值 | 返回数据类型 | 确定性 | ||
DATEname | DATEname ( datepart, date ) | 返回表示指定日期的指定 datepart的字符串. | nvarchar | 不具有确定性 | ||
DATEPART | DATEPART ( datepart,courIEr">返回表示指定 date 的指定 datepart 的整数. | int | DAY | DAY ( date ) | 返回表示指定 date 的"日"部分的整数. | 具有确定性 |
MONTH | MONTH ( date ) | 返回表示指定 date 的"月"部分的整数. | YEAR | YEAR ( date ) | 返回表示指定 date 的"年"部分的整数. | 具有确定性 |
用来获取日期和时间差的函数
函数 | 语法 | 返回值 | 返回数据类型 | 确定性 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DATEDIFF | DATEDIFF ( datepart, startdate,enddate ) | 返回两个指定日期之间所跨的日期或时间 datepart边界的数目. | int | 用来修改日期和时间值的函数
|
评论列表(0条)