将smallint转换为时间

时间:2016-07-18 14:24:42

标签: sql sql-server tsql sql-server-2005

我正在尝试将smallint转换为time格式。

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

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

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

1 个答案:

答案 0 :(得分:3)

您可以使用以下结果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