mssql2008中的时间日期类型详解

上传人:简****9 文档编号:100677648 上传时间:2019-09-24 格式:DOC 页数:24 大小:110.72KB
返回 下载 相关 举报
mssql2008中的时间日期类型详解_第1页
第1页 / 共24页
mssql2008中的时间日期类型详解_第2页
第2页 / 共24页
mssql2008中的时间日期类型详解_第3页
第3页 / 共24页
mssql2008中的时间日期类型详解_第4页
第4页 / 共24页
mssql2008中的时间日期类型详解_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《mssql2008中的时间日期类型详解》由会员分享,可在线阅读,更多相关《mssql2008中的时间日期类型详解(24页珍藏版)》请在金锄头文库上搜索。

1、MSSQL2008中的时间日期类型datetime 用于定义一个与采用24小时制并带有秒小数部分的一日时间组合的日期。 注意 对于性的工作,请使用time、 date、 datetime2 和datetimeoffset数据类型。这些数据类型符合SQL标准。它们更便于移植。time、datetime2和datetimeoffset提供更高精度的秒数。datetimeoffset为全局部署的应用提供时区支持。 datetime说明属性值语法datetime用法DECLARE MyDatetimedatetimeCREATE TABLE Table1 ( Column1datetime)默认的字符

2、串文字格式(用于下级客户端)不适用日期范围1753 年 1 月 1 日到 9999 年 12 月 31 日时间范围00:00:00 到 23:59:59.997时区偏移量范围无各元素的范围YYYY 是表示年份的四位数字,范围为 1753 到 9999。MM 是表示指定年份中的月份的两位数字,范围为 01 到 12。DD 是表示指定月份中的某一天的两位数字,范围为 01 到 31(最高值取决于相应月份)。hh 是表示小时的两位数字,范围为 00 到 23。mm 是表示分钟的两位数字,范围为 00 到 59。ss 是表示秒钟的两位数字,范围为 00 到 59。n* 为一个 0 到 3 位的数字,范

3、围为 0 到 999,表示秒的小数部分。字符长度最低 19 位到最高 23 位存储大小8 字节精确度舍入到 .000、.003 或 .007 秒三个增量。默认值1900-01-01 00:00:00日历公历(不包括完整的年份范围。)用户定义的秒的小数部分精度否时区偏移量感知和保留否夏时制感知否datetime 支持的字符串文字格式以下各表列出了datetime支持的字符串文字格式。datetime字符串文字位于单引号 () 中,例如 string_literaL,但 ODBC 除外。如果环境不是us_english,则字符串文字应采用 Nstring_literaL 格式。数值说明日期格式:0

4、4/15/1996 - (mdy)04-15-1996 - (mdy)04.15.1996 - (mdy)04/1996/15 - (myd)15/04/1996 - (dmy)15/1996/04 - (dym)1996/15/04 - (ydm)1996/04/15 - (ymd)时间格式:14:3014:30:20:99914:30:20.94am4 PM您可以指定日期数据,其中月份也通过数值指定。例如,5/20/97 表示 1997 年 5 月 20 日。采用数值日期格式时,可在字符串中使用斜线 (/)、连字符 (-) 或句点 (.)作为分隔符来指定月、日、年。此字符串必须采用以下格式

5、: 数字 分隔符 数字 分隔符数字时间 时间当语言设置为us_english时,默认的日期顺序是 mdy。可以使用SET DATEFORMAT语句更改日期顺序。SET DATEFORMAT 的设置决定了如何解释日期值。如果顺序和设置不匹配,这些值将由于超出范围而不会被解释成日期,或者被错误地解释。例如,12/10/08 可以解释成六个不同的日期,具体解释为哪一日期取决于 DATEFORMAT 的设置。四位数字的年份被解释为年。字母说明April 15, 1996April 15, 1996April 1996 1515 April, 199615 April,199615 1996 april

6、15 1996 april1996 APRIL 151996 15 APRIL您可以指定一个日期数据,其中使用完整的月份名称来指定月份。例如,月份用英语 April 或使用其缩写 Apr 指定;逗号是可选的,且忽略大小写。下面是使用字母日期格式的一些准则: 日期和时间数据要放在单引号 () 内。对于英语以外的其他语言,使用 N。 方括号中的字符是可选的。 如果只指定年份的最后两位数字,则小于两位数年份截止配置选项值最后两位数字的值与截止年份处于同一个世纪。大于或等于该选项值的值处于截止年份的上一个世纪。例如,如果“两位数年份截止”为 2050(默认值),则 25 将被解释为 2025 年,而

7、50 将被解释为 1950 年。为避免模糊不清,请使用四位数的年份。 如果没有指定日,则默认值为当月第一天。当按字母形式指定月份时,SET DATEFORMAT 会话设置不起作用。ISO 8601说明YYYY-MM-DDThh:mm:ss.mmmYYYYMMDDThh:mm:ss.mmm示例: 2004-05-23T14:25:10 2004-05-23T14:25:10.487若要使用 ISO 8601 格式,必须按此格式指定每一个元素。这也包括显示在此格式中的T、冒号 (:)和句点 (.)。方括号表示秒小数部分是可选的。时间部分按 24 小时制指定。T 表示其后是datetime值的时间部

8、分。使用 ISO 8601 格式的优点是它是一种国际标准,不会产生模糊的指定。同时,此格式不受 SET DATEFORMAT 或SET LANGUAGE设置的影响。未分隔的说明YYYYMMDD hh:mm:ss.mmmODBC说明 ts 1998-05-02 01:23:56.123 d 1990-10-02 t 13:33:41 ODBC API 用于定义转义序列以表示日期和时间值,ODBC 称之为时间戳数据。Microsoft OLE DB Provider for SQL Server 所支持的 OLE DB 语言定义 (DBGUID-SQL) 也支持这种 ODBC 时间戳格式。使用 A

9、DO、OLE DB 和基于 ODBC 的 API 的应用程序可以使用这种 ODBC 时间戳格式来表示日期和时间。ODBC 时间戳的转义序列格式为:literal_typeconstant_value : literal_type指定转义序列的类型。时间戳有三个literal_type说明符: d = 仅日期 t = 仅时间 ts = 时间戳(时间 + 日期) constant_value 是转义序列的值。constant_value必须遵循下面每个literal_type的格式。literal_typeconstant_value 格式dyyyy-mm-ddthh:mm:ss.ffftsyyy

10、y-mm-dd hh:mm:ss.fffdatetime 秒的小数部分精度的舍入如下表所示,将datetime值舍入到 .000、.003、或 .007 秒的增量。用户指定的值系统存储的值01/01/98 23:59:59.9991998-01-02 00:00:00.00001/01/98 23:59:59.99501/01/98 23:59:59.99601/01/98 23:59:59.99701/01/98 23:59:59.9981998-01-01 23:59:59.99701/01/98 23:59:59.99201/01/98 23:59:59.99301/01/98 23:5

11、9:59.9941998-01-01 23:59:59.99301/01/98 23:59:59.99001/01/98 23:59:59.9911998-01-01 23:59:59.990对 ANSI 和 ISO 8601 的遵从性datetime不遵从 ANSI 或 ISO 8601。示例下例比较了将一个字符串分别转换为各种date和time数据类型所产生的结果。SELECT CAST(2007-05-08 12:35:29. 1234567 +12:15 AS time(7) AS time ,CAST(2007-05-08 12:35:29. 1234567 +12:15 AS da

12、te) AS date ,CAST(2007-05-08 12:35:29.123 AS smalldatetime) AS smalldatetime ,CAST(2007-05-08 12:35:29.123 AS datetime) AS datetime ,CAST(2007-05-08 12:35:29. 1234567 +12:15 AS datetime2(7) AS datetime2 ,CAST(2007-05-08 12:35:29.1234567 +12:15 AS datetimeoffset(7) AS datetimeoffset;下面是结果集:数据类型输出time

13、12:35:29. 1234567date2007-05-08smalldatetime2007-05-08 12:35:00datetime2007-05-08 12:35:29.123datetime22007-05-08 12:35:29. 1234567datetimeoffset2007-05-08 12:35:29.1234567 +12:15datetime2 (Transact-SQL)SQL Server 2008 R2其他版本此主题尚未评级评价此主题定义结合了 24 小时制时间的日期。可将datetime2视作现有datetime类型的扩展,其数据范围更大,默认的小数精度更

14、高,并具有可选的用户定义的精度。有关所有 Transact-SQL 日期和时间数据类型及函数的概述,请参阅日期和时间函数 (Transact-SQL)。有关日期和时间数据类型及函数共有的信息和示例,请参阅使用日期和时间数据。datetime2 说明属性值语法datetime2 (fractional seconds precision) 用法DECLARE MyDatetime2datetime2(7)CREATE TABLE Table1 ( Column1datetime2(7)默认的字符串文字格式(用于下级客户端)YYYY-MM-DD hh:mm:ss.fractional seconds有关详细信息,请参阅使用日期和时间数据的“下级客户端的向后兼容性”部分。日期范围0001-01-01 到 9999-12-31公元元年 1 月 1 日到公元 9999 年 12 月 31 日时间范围00:00:00 到

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号