当前位置:网站首页 > 大数据架构 > 正文

时钟符号代码(时钟符号代码大全)



适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (PDW) Microsoft Fabric 中的 SQL 分析端点 Microsoft Fabric 中的仓库

定义一天中的某个时间。 此时间不能感知时区且基于 24 小时制。

属性 值 语法 time [ (fractional second scale) ] 使用情况 DECLARE @MyTime time(7)

CREATE TABLE Table1 ( Column1 time(7) )

fractional seconds scale 为秒的小数部分指定数字的位数。

这可以是从 0 到 7 的整数。 对于 Informatica,这可以是从 0 到 3 的整数。

默认小数位数为 7 (100ns)。

在 Microsoft Fabric 中,它可以是 0 到 6 的整数,没有默认值。 必须在 Microsoft Fabric 中指定精度。





默认的 字符串文字格式

(用于下级客户端)

对于 Informatica,为 hh:mm:ss[.nnnnnnn])

有关详细信息,请参阅下级客户端的后向兼容性部分。

范围 00:00:00.0000000 到 23:59:59.(对于 Informatica,为 00:00:00.000 到 23:59:59.999) 各元素的范围 hh 是表示小时的两位数字,范围为 0 到 23。

mm 是表示分钟的两位数字,范围为 0 到 59。

ss 是表示秒的两位数字,范围为 0 到 59。

n* 是 0 到 7 位数字,范围为 0 到 ,它表示秒的小数部分。 对于 Informatica,n* 是零到三位数字,范围为 0 到 999。





字符长度 最小 8 位 (hh:mm:ss),最大 16 位 (hh:mm:ss.nnnnnnn)。 对于 Informatica,最大值为 12 位 (hh:mm:ss.nnn)。 精度、小数位数

(用户只能指定小数位数)

请参阅下表。 存储大小 固定 5 个字节,是使用默认的 100ns 秒的小数部分精度时的默认存储大小。 在 Informatica 中,默认为 4 个字节,固定不变,同时秒的小数部分精度默认为 1 毫秒。 精确度 100 纳秒(Informatica 中为 1 毫秒) 默认值 00:00:00

此值用作从 date 隐式转换到datetime2 或 datetimeoffset 时追加的时间部分

用户定义的秒的小数部分精度 是 时区偏移量感知和保留 否 夏时制感知 否











































指定的小数位数 结果 (精度, 小数位数) 列长度(以字节为单位) 小数

seconds

精准率



time (16,7)[Informatica 中为 (12,3)] 5(Informatica 中为 4) 7(Informatica 中为 3) time(0) (8,0) 3 0-2 time(1) (10,1) 3 0-2 time(2) (11,2) 3 0-2 time(3) (12,3) 4 3-4 time(4)* (13,4) 4 3-4 time(5)* (14,5) 5 5-7 time(6)* (15,6) 5 5-7 time(7)* + (16,7) 5 5-7







* 在 Informatica 中不受支持。

+ 在 Microsoft Fabric 中不受支持。

下表显示的是适用于 time 数据类型的有效字符串文字格式

SQL Server 描述 hh:mm[:ss][:fractional seconds][AM][PM]

hh:mm[:ss][.fractional seconds][AM][PM]

hhAM[PM]

hh AM[PM]





如果小时值为 0,则不论是否指定了 AM,都表示午夜 (AM) 后的小时。 当小时值等于 0 时,不能指定 PM。

如果 AM 和 PM 均未指定,则小时值为 01 到 11 时,表示中午以前的小时。 如果指定了 AM,则这些值表示中午以前的小时。 如果指定了 PM,则这些值表示中午以后的小时。

如果既未指定 AM,也未指定 PM,则小时值 12 表示始于中午的小时。 如果指定了 AM,则该值表示始于午夜的小时。 如果指定了 PM,则该值表示始于中午的小时。 例如:12:01 是指中午过后 1 分钟,与 12:01 PM 的含义相同,而 12:01 AM 则指午夜过后 1 分钟。 指定 12:01 AM 与指定 00:01 或 00:01 AM 等效。

如果未指定 AM 或 PM,则小时值 13 到 23 表示中午以后的小时。 如果指定了 PM,这些值也表示中午以后的小时。 如果小时值为 13 到 23,不能指定 AM。

如果小时值为 24,则该值无效。 若要表示午夜,请使用 12:00 AM 或 00:00。

可以在毫秒之前加上冒号 (:) 或者句点 (.)。 如果使用冒号,这个数字表示千分之一秒。 如果使用句点,则单个数字表示十分之一秒,两个数字表示百分之一秒,三个数字表示千分之一秒。 例如,12:30:20:1 表示到了 12:30 后又过了二十又千分之一秒;12:30:20.1 表示到了 12:30 后又过了二十又十分之一秒。









































ISO 8601 备注 hh:mm:ss

hh:mm[:ss][.fractional seconds]

hh 是两位数,介于 0 和 23 范围之间,表示时区偏移小时数。

mm 是两位数,范围为 0 到 59,它表示时区偏移量中的额外分钟数。









ODBC 备注 {t 'hh:mm:ss[.fractional seconds]'} 特定于 ODBC API。

为满足向后兼容的需要以及与现有日期和时间类型保持一致,不支持 ISO 8601(5.3.2 和 5.3)规定的如下用法:用 24 点表示午夜和允许大于 59 的闰秒。

默认字符串文字格式(用于下级客户端)将遵照 SQL 标准格式(定义为 hh:mm:ss[.nnnnnnn])。 这种格式类似于 ISO 8601 对不包含秒小数部分的 TIME 的定义。

某些下级客户端不支持 time、time、datetime2 和 datetimeoffset 数据类型。 下表显示了 SQL Server 上级实例与下级客户端之间的类型映射。

SQL Server 数据类型 传递给下级客户端的默认字符串文字格式 下级 ODBC 下级 OLEDB 下级 JDBC 下级 SQLCLIENT time hh:mm:ss[.nnnnnnn] SQL_WVARCHAR 或 SQL_VARCHAR DBTYPE_WSTR 或 DBTYPE_STR Java.sql. String String 或 SqString date YYYY-MM-DD SQL_WVARCHAR 或 SQL_VARCHAR DBTYPE_WSTR 或 DBTYPE_STR Java.sql.String String 或 SqString datetime2 YYYY-MM-DD hh:mm:ss[.nnnnnnn] SQL_WVARCHAR 或 SQL_VARCHAR DBTYPE_WSTR 或 DBTYPE_STR Java.sql.String String 或 SqString datetimeoffset YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm SQL_WVARCHAR 或 SQL_VARCHAR DBTYPE_WSTR 或 DBTYPE_STR Java.sql.String String 或 SqString

当转换为日期和时间数据类型时,SQL Server 将会拒绝它无法识别为日期或时间的所有值。 有关对日期和时间数据使用 CAST 和 CONVERT 函数的信息,请参阅 CAST 和 CONVERT (Transact-SQL)

本部分介绍当 time 数据类型转换为其他日期和时间数据类型时发生的情况

转换到 time(n) 时,会复制小时、分钟和秒数。 当目标精度小于源精度时,将对秒的小数部分进行向上舍入,以适合目标精度。 下面的示例显示了将 值转换为 值的结果。

 
  

结果集如下。

 
  

如果转换到“date”,转换失败,并引发错误消息 206:“操作数类型冲突: date 与 time 不兼容”。

转换到 datetime 时,会复制小时、分钟和秒数,且日期部分设为“1900-01-01”。 当 time(n) 值的秒的小数部分精度大于三位时,datetime 结果将被截断。 下面的代码显示将 值转换为 值的结果。

 
  

结果集如下。

 
  

转换到 smalldatetime 时,日期设置为“1900-01-01”,小时和分钟值向上舍入。 秒和秒的小数部分设置为 0。 下面的代码显示将 值转换为 值的结果。

显示分钟值的舍入:

 
  

结果集如下。

 
  

显示小时值的舍入:

 
  

结果集如下。

 
  

如果转换到 datetimeoffset(n),则日期设置为“1900-01-01”,且复制时间。 时区偏移量设置为 +00:00。 当 time(n) 值秒的小数部分精度大于 datetimeoffset(n) 值的精度时,将对值进行向上舍入以适合精度。 下面的示例显示将 值转换为 类型的结果。

 
  

结果集如下。

 
  

转换到 datetime2(n) 时,日期设置为“1900-01-01”,复制时间部分,时区偏移量设置为 00:00。 当 datetime2(n) 值秒的小数部分精度大于 time(n) 值时,将对值进行向上舍入以适合精度。 下面的示例显示了将 值转换为 值的结果。

 
  

结果集如下。

 
  

如果字符串所有部分的格式均有效,则允许从字符串文字转换为日期和时间类型。 否则,将引发运行时错误。 从日期和时间类型向字符串文字进行的未指定样式的隐式转换或显式转换将采用当前会话的默认格式。 下表显示用于将字符串文字转换为 time 数据类型的规则

输入字符串文字 转换规则 ODBC DATE ODBC 字符串文字映射到 datetime 数据类型。 从 ODBC DATETIME 文字到 time 类型的任何赋值操作都会导致在 datetime 与此类型之间按照转换规则的定义进行隐式转换 。 ODBC TIME 请参阅上面的 ODBC DATE 规则。 ODBC DATETIME 请参阅上面的 ODBC DATE 规则。 仅 DATE 提供默认值。 仅 TIME 无庸赘述 仅 TIMEZONE 提供默认值。 DATE + TIME 使用输入字符串的 TIME 部分。 DATE + TIMEZONE 不允许。 TIME + TIMEZONE 使用输入字符串的 TIME 部分。 DATE + TIME + TIMEZONE 将使用本地 DATETIME 的 TIME 部分。

下例比较了将一个字符串分别转换为各种 date 和 time 数据类型时所产生的结果 。

 
  
数据类型 输出 time 12:35:29. date 2007-05-08 smalldatetime 2007-05-08 12:35:00 datetime 2007-05-08 12:35:29.123 datetime2 2007-05-08 12:35:29. datetimeoffset 2007-05-08 12:35:29. +12:15

下表列出了可插入到数据类型为 time(7) 的一个列中的不同字符串文字,以及在插入后存储到该列中的对应值

字符串文字格式类型 插入的字符串文字 存储的 time(7) 值 描述 SQL Server '01:01:01:123AM' 01:01:01. 如果在秒的小数部分精度之前使用冒号 (:),则小数位数不能超过三位,否则将引发错误。 SQL Server '01:01:01. AM' 01:01:01. 如果指定了 AM 或 PM,则时间以不带 AM 或 PM 文字的 24 小时格式存储 SQL Server '01:01:01. PM' 13:01:01. 如果指定了 AM 或 PM,则时间以不带 AM 或 PM 文字的 24 小时格式存储 SQL Server '01:01:01.PM' 13:01:01. AM 或 PM 之前的空格可有可无。 SQL Server '01AM' 01:00:00.0000000 仅指定小时时,所有其他值均为 0。 SQL Server '01 AM' 01:00:00.0000000 AM 或 PM 之前的空格可有可无。 SQL Server '01:01:01' 01:01:01.0000000 如果秒的小数部分精度未指定,则由数据类型定义的各数位均为 0。 ISO 8601 '01:01:01.' 01:01:01. 为遵从 ISO 8601,使用 24 小时格式,而非 AM 或 PM 格式。 ISO 8601 '01:01:01. +01:01' 01:01:01. 允许输入内容中包含可选的时区差异 (TZD),但不存储它。

下表中的第一列显示的是时间字符串文字,第二列显示的是日期或时间数据类型,第一列中的时间字符串文字将插入到第二列中与之对应的数据类型的数据库表列中。 第三列显示的是将存储在对应数据库表列中的值。

插入的字符串文字 列数据类型 存储在列中的值 描述 '12:12:12.' time(7) 12:12:12. 如果秒的小数部分精度超过为列指定的值,则字符串将被截断,且不会出错。 '2007-05-07' date Null 任何时间值均将导致 INSERT 语句失败。 “12:12:12” smalldatetime 1900-01-01 12:12:00 任何秒的小数部分精度值都将导致 INSERT 语句失败。 '12:12:12.123' datetime 1900-01-01 12:12:12.123 任何长于三位的秒精度都将导致 INSERT 语句失败。 '12:12:12.' datetime2(7) 1900-01-01 12:12:12. 如果秒的小数部分精度超过为列指定的值,则字符串将被截断,且不会出错。 '12:12:12.' datetimeoffset(7) 1900-01-01 12:12:12. +00:00 如果秒的小数部分精度超过为列指定的值,则字符串将被截断,且不会出错。

CAST 和 CONVERT (Transact-SQL)

到此这篇时钟符号代码(时钟符号代码大全)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 苹果特殊符号大全怎么打(特殊符号 苹果)2026-03-11 19:18:06
  • 100个游戏代码(100个游戏代码大全)2026-03-11 19:18:06
  • 结构游戏的分类及技巧有哪些(结构游戏分为哪七大类)2026-03-11 19:18:06
  • ini文件编码(ini文件编码窗口大小)2026-03-11 19:18:06
  • 线上小程序制作多少钱(小程序制作大概多少钱)2026-03-11 19:18:06
  • 字体图标下载(字体图标大全)2026-03-11 19:18:06
  • iphone特殊符号大全花样符号(iphone特殊符号大全花样符号图案)2026-03-11 19:18:06
  • 大气分层图高中(大气的分层图)2026-03-11 19:18:06
  • 查看k8s版本命令(k8s命令大全)2026-03-11 19:18:06
  • 好玩的代码复制微信(微信代码复制大全)2026-03-11 19:18:06
  • 全屏图片