如何在TSQL中将INT转换为hh:mm:ss格式?

时间:2016-05-10 03:04:27

标签: sql sql-server-2012

我有一个选择查询,其中包含"开始时间"列为整数。我想将此列转换为hh:mm:ss格式。

"开始时间"具有830,930,1500,1730的值,应该是08:30:00,09:30:00,15:00:00,17:30:00

3 个答案:

答案 0 :(得分:0)

首先需要CAST他们到VARCHAR并进行操作:

WITH tbl(tm) AS(
    SELECT 830 UNION ALL
    SELECT 930 UNION ALL
    SELECT 1500 UNION ALL
    SELECT 1730
)
SELECT
    LEFT(RIGHT('0000' + CAST(tm AS VARCHAR(4)), 4), 2)  + ':' +
    RIGHT(CAST(tm AS VARCHAR(4)), 2)
FROM tbl

答案 1 :(得分:0)

如果我理解你的问题,你应该使用它:

select CONVERT(varchar(2),[start time]/100) + ':' + CONVERT(varchar(2),[start time]%100) + ':00' 
from table_name;

答案 2 :(得分:0)

试试这个。

SELECT
    format ([start time] / 100, 'd2') + ':' + format ([start time] % 100, 'd2') + ':00'
FROM
    MyTable