SQL 服务器整数到时间

SQL Server Integer to Time

我遇到了一个场景,其中 table 包含整数数据类型的时间值,我需要将它们转换为 TIME 数据类型以使用 DATEDIFF() 函数。

例如:如果列值为 449,则为 04:49:00:00;如果该列包含 25,则 02:05:00:00.

如果有人有用户定义的过程或代码,在 Select 语句中使用它们应该更有帮助,因为我需要将此值传递给 DATEDIFF()

试试这个!!!!!

    CREATE FUNCTION dbo.udfConv(
    @quantity INT
)
RETURNS VARCHAR(25)
AS 
BEGIN
    RETURN (SELECT CAST(CASE WHEN LEN(@quantity)=2 THEN '0'+LEFT(@quantity,1) +':'+'0'+RIGHT(@quantity,1)+':00:00'
            WHEN LEN(@quantity)=3 THEN '0'+LEFT(@quantity,1) +':'+RIGHT(@quantity,2)+':00:00'
            WHEN LEN(@quantity)=4 THEN LEFT(@quantity,2) +':'+RIGHT(@quantity,2)+':00:00'
 END AS TIME))
END;

这不是准确的日期时间格式。日期时间格式类似于 DD-MM-YYYY HH:MM: SS。然而,这个问题需要更多的改进。