MSSQL中的时间日期类型Word格式文档下载.docx
《MSSQL中的时间日期类型Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MSSQL中的时间日期类型Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
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位的数字,范围为0到999,表示秒的小数部分。
字符长度
最低19位到最高23位
存储大小
8字节
精确度
舍入到.000、.003或.007秒三个增量。
默认值
1900-01-0100:
00
日历
公历(不包括完整的年份范围。
用户定义的秒的小数部分精度
否
时区偏移量感知和保留
夏时制感知
datetime支持的字符串文字格式
以下各表列出了
支持的字符串文字格式。
字符串文字位于单引号('
)中,例如'
string_literaL'
,但ODBC除外。
如果环境不是
us_english,则字符串文字应采用N'
格式。
数值
说明
日期格式:
[0]4/15/[19]96--(mdy)
[0]4-15-[19]96--(mdy)
[0]4.15.[19]96--(mdy)
[0]4/[19]96/15--(myd)
15/[0]4/[19]96--(dmy)
15/[19]96/[0]4--(dym)
[19]96/15/[0]4--(ydm)
[19]96/[0]4/15--(ymd)
时间格式:
14:
30
30[:
20:
999]
20.9]
4am
4PM
您可以指定日期数据,其中月份也通过数值指定。
例如,5/20/97表示1997年5月20日。
采用数值日期格式时,可在字符串中使用斜线(/)、连字符(-)或句点(.)作为分隔符来指定月、日、年。
此字符串必须采用以下格式:
∙数字分隔符数字分隔符
数字
[时间][时间]
当语言设置为
us_english
时,默认的日期顺序是mdy。
可以使用
SETDATEFORMAT
语句更改日期顺序。
SETDATEFORMAT的设置决定了如何解释日期值。
如果顺序和设置不匹配,这些值将由于超出范围而不会被解释成日期,或者被错误地解释。
例如,12/10/08可以解释成六个不同的日期,具体解释为哪一日期取决于DATEFORMAT的设置。
四位数字的年份被解释为年。
字母
Apr[il][15][,]1996
Apr[il]15[,][19]96
Apr[il]1996[15]
[15]Apr[il][,]1996
15Apr[il][,][19]96
15[19]96apr[il]
[15]1996apr[il]
1996APR[IL][15]
1996[15]APR[IL]
您可以指定一个日期数据,其中使用完整的月份名称来指定月份。
例如,月份用英语April或使用其缩写Apr指定;
逗号是可选的,且忽略大小写。
下面是使用字母日期格式的一些准则:
∙日期和时间数据要放在单引号('
)内。
对于英语以外的其他语言,使用N'
。
∙方括号中的字符是可选的。
∙如果只指定年份的最后两位数字,则小于两位数年份截止配置选项值最后两位数字的值与截止年份处于同一个世纪。
大于或等于该选项值的值处于截止年份的上一个世纪。
例如,如果“两位数年份截止”为2050(默认值),则25将被解释为2025年,而50将被解释为1950年。
为避免模糊不清,请使用四位数的年份。
∙如果没有指定日,则默认值为当月第一天。
当按字母形式指定月份时,SETDATEFORMAT会话设置不起作用。
ISO8601
YYYY-MM-DDThh:
mm:
ss[.mmm]
YYYYMMDDThh:
示例:
∙2004-05-23T14:
25:
10
10.487
若要使用ISO8601格式,必须按此格式指定每一个元素。
这也包括显示在此格式中的
T、冒号(:
)和句点(.)。
方括号表示秒小数部分是可选的。
时间部分按24小时制指定。
T表示其后是
值的时间部分。
使用ISO8601格式的优点是它是一种国际标准,不会产生模糊的指定。
同时,此格式不受SETDATEFORMAT或
SETLANGUAGE设置的影响。
未分隔的
YYYYMMDDhh:
ODBC
{ts'
1998-05-0201:
23:
56.123'
}
{d'
1990-10-02'
{t'
13:
33:
41'
ODBCAPI用于定义转义序列以表示日期和时间值,ODBC称之为时间戳数据。
MicrosoftOLEDBProviderforSQLServer所支持的OLEDB语言定义(DBGUID-SQL)也支持这种ODBC时间戳格式。
使用ADO、OLEDB和基于ODBC的API的应用程序可以使用这种ODBC时间戳格式来表示日期和时间。
ODBC时间戳的转义序列格式为:
{
literal_type
'
constant_value'
}:
∙literal_type
指定转义序列的类型。
时间戳有三个
说明符:
∙d=仅日期
∙t=仅时间
∙ts=时间戳(时间+日期)
∙'
是转义序列的值。
constant_value
必须遵循下面每个
的格式。
literal_typeconstant_value格式
dyyyy-mm-dd
thh:
ss[.fff]
tsyyyy-mm-ddhh:
datetime秒的小数部分精度的舍入
如下表所示,将
值舍入到.000、.003、或.007秒的增量。
用户指定的值
系统存储的值
01/01/9823:
59.999
1998-01-0200:
00.000
59.995
59.996
59.998
1998-01-0123:
59.992
59.993
59.994
59.990
59.991
对ANSI和ISO8601的遵从性
不遵从ANSI或ISO8601。
示例
下例比较了将一个字符串分别转换为各种
date
和
time
数据类型所产生的结果。
SELECT
CAST('
2007-05-0812:
35:
29.1234567+12:
15'
AStime(7))AS'
time'
CAST('
ASdate)AS'
date'
29.123'
ASsmalldatetime)AS
'
smalldatetime'
ASdatetime)AS'
datetime'
ASdatetime2(7))AS
datetime2'
29.1234567+12:
ASdatetimeoffset(7))AS
datetimeoffset'
;
下面是结果集:
数据类型
输出
time
12:
29.1234567
date
2007-05-08
smalldatetime
29.123
datetime2
datetimeoffset
15
datetime2(Transact-SQL)
SQLServer2008R2
其他版本
此主题尚未评级
评价此主题
定义结合了24小时制时间的日期。
可将
datetime2
视作现有
类型的扩展,其数据范围更大,默认的小数精度更高,并具有可选的用户定义的精度。
有关所有Transact-SQL日期和时间数据类型及函数的概述,请参阅日期和时间函数(Transact-SQL)。
有关日期和时间数据类型及函数共有的信息和示例,请参阅使用日期和时间数据。
datetime2说明
[(fractionalsecondsprecision)]
DECLARE@MyDatetime2
datetime2(7)
datetime2(7)
YYYY-MM-DDhh:
ss[.fractionalseconds]
有关详细信息,请参阅使用日期和时间数据的“下级客户端的向后兼容性”部分。
0001-01-01到9999-12-31
公元元年1月1日到公元9999年12月31日
59.99999