将smallint转换为时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将smallint转换为时间相关的知识,希望对你有一定的参考价值。

我想将smallint转换为time格式。

我使用的SQL Server 2005不支持time数据类型。

我将时间存储为1400,这是一个smallint。检索时我希望将其转换为时间格式。如14:00

关于此事的任何想法或指导。如果有更简单的方法,或者我正在尝试的方式是可能的吗?

答案

您可以使用以下方法获得varchar的结果:

SELECT 
    RIGHT('0' + CONVERT(varchar(10), yourTime / 100), 2) + ':' +  
    RIGHT('0' + CONVERT(varchar(10), yourTime % 100), 2) As timeString
FROM
    yourTable

你也可以得到DATETIME格式的结果,如下所示:

SELECT 
    CONVERT(datetime, CONVERT(varchar(10), yourTime / 100)+ ':' + CONVERT(varchar(10), yourTime % 100))
FROM
    yourTable

在SQL Server 2012+中,您可以获得时间格式的结果:

SELECT 
    TIMEFROMPARTS(yourTime / 100, yourTime % 100, 0, 0, 0) As timeFormat
FROM 
    yourTable

以上是关于将smallint转换为时间的主要内容,如果未能解决你的问题,请参考以下文章

将纪元时间转换为时间戳颤动

如何将数据类型varchar转换为时间戳mysql?

如何使用 C#/.NET 将日期时间转换为时间戳(忽略当前时区)

使用 C 将当前毫秒转换为时间格式

在 Hive 或 Impala 中从 int 转换为时间戳

js将标准时间转换为时间戳在苹果手机显示NaN