将 smallint 转换为时间
Convert smallint to time
我正在尝试将 smallint
格式转换为 time
格式。
我正在使用不支持 time
数据类型的 SQL Server 2005。
我将时间存储为 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
格式转换为 time
格式。
我正在使用不支持 time
数据类型的 SQL Server 2005。
我将时间存储为 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