我正在选角DateTime
字段到时间通过使用CAST
Syntax.
select CAST([time] as time) as [CSTTime]
约会时间2015-03-19 00:00:00.000
当前输出:时间03:05:36.0000000
我只需要HH:MM:SS
而不是毫秒或 0000
如何精确过滤或投射HH:MM:SS
Format.
Time
不与其一起存储显示格式在 SQL Server 中。
因此,从用户的角度来看,可以说没有格式。
当然,这并不完全准确,因为它确实有存储格式,但作为普通用户你无法真正使用它。
对于所有日期和时间数据类型都是如此:
Date
, DateTimeOffset
, DateTime2
, SmallDateTime
, DateTime
and Time
.
如果您需要某种格式,则无需转换为time
但对一个char
. Use Convert得到char
你需要:
SELECT CONVERT(char(10), [time], 108) as CSTTime
如果您有兴趣,这里有一些背景数据:
In 本文作者于 2000 年出版,深入解释了 SQL Server 如何处理日期和时间。我怀疑 2000 年到 2015 年间 SQL Server 存储方式是否发生了重大变化date
, time
and datetime
内部价值观。
如果您不想阅读全部内容,以下是相关引用:
那么SQL Server内部是如何存储日期的呢?它使用 8 个字节来存储日期时间值 - 前 4 个字节用于日期,后 4 个字节用于时间。 SQL Server 可以将两组 4 字节解释为整数。
…………
…………
SQL Server 将时间的第二个整数存储为午夜之后的时钟滴答数。一秒包含 300 个刻度,因此一个刻度等于 3.3 毫秒 (ms)。
since time
实际上存储为 4 字节整数,它实际上没有作为数据类型的组成部分的格式。
您可能还想查看本文有关代码示例的更详细说明。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)