SQL Server 2008 提供多种日期时间类型供我们选择。
以下是各个时间类型的汇总:
数据类型 | 格式 | 取值范围 | 精度 | 存储尺寸 |
date | yyyy-mm-dd | 0001-1-1 9999-12-31 | 1天 | 3字节 |
time | hh:mm:ss.nnnnnn | 0:0:0.000000 23:59:59.999999 | 100纳秒 | 3-5字节 |
smalldatetime | yyyy-mm-dd hh:mm:ss | 1900-1-1 2079-6-6 | 1分钟 | 4字节 |
datetime | yyyy-mm-dd hh:mm:ss:nnn | 1753-1-1 9999-12-31 | 0.00333秒 | 8字节 |
datetime2 | yyyy-mm-dd hh:mm:ss:nnnnnn | 0001-1-1 9999-12-31 | 100纳秒 | 6-8字节 |
datetimeoffset | yyyy-mm-dd hh:mm:ss:nnnnnn +|- hh:mm | 0001-1-1 9999-12-31 (全球标准时间) | 100纳秒 | 8-10字节 |
为了使用这些数据类型,SQL Server 2008 同时还引入了一系列的T-SQL函数。
1.1 三个用于获得高精度系统时间的函数
SYSDATETIME:返回运行SQL Server 实例的服务器的本地时间,数据类型是datetime2(7),不包含时区信息。
SYSDATETIMEOFFSET:返回运行SQL Server 实例的服务器的本地时间及时区信息,数据类型是datetimeoffset(7)。
SYSUTCDATETIME:返回运行SQL Server 实例的服务器的标准世界时间,数据类型是datetime2(7)。
1.2 用于时区转换的函数:
SWITCHOFFSET(datetimeoffset, time_zone):根据输入的世界时间以及时区信息返回某个特定时区的数据,例如SWITCHOFFSET('2008-1-1 0:0:0 + 8:00', '-07:00')返回值将是'2007-12-31 9:00 -07:00'。
TODATETIMEOFFSET(datetime, offset):根据输入的日期时间参数值和时区参数值返回一个世界时间值。例如TODATETIMEOFFSET('2008-1-1 0:0:0', '+08:00')返回值是'2008-1-1 0:0:0 + 08:00'。
标签:00,字节,mm,server,hh,SQL,2008 From: https://blog.51cto.com/u_15917617/5953253