将DateTime转换为Time
使用CAST将DateTime字段转换为Time时,输出结果通常包含小数秒或毫秒,这可能并非您所期望的。要过滤或转换为精确的HH:MM:SS格式,您必须了解SQL Server中时间的内部表示。
时间存储和格式
与显示格式不同,SQL Server中的时间并非固有地以某种格式存储。它是一个8字节整数,前4个字节表示日期,其余4个字节表示自午夜以来的刻度数。一个刻度代表3.3毫秒。
因此,SQL Server中的时间值以整数值存在,而不是以特定格式存在。
转换为字符格式
要获得HH:MM:SS格式,您需要使用CONVERT函数转换为字符类型:
<code class="language-sql">SELECT CONVERT(char(10), [time], 108) as CSTTime</code>
说明
char(10)
指定长度为10的字符字符串。108
是一个样式代码,指定HH:MM:SS格式。此转换过程会将时间值转换为所需HH:MM:SS格式的字符字符串。
以上是如何将 SQL Server 日期时间字段转换为不带小数秒的 HH:MM:SS 时间格式?的详细内容。更多信息请关注PHP中文网其他相关文章!