将时间转换为字符串的脚本?

时间:2013-09-13 08:08:08

标签: sql sql-server ssms

我在SQL Server数据库表中有一个time(0)列,我希望在time(0)中使用相同的金额创建一个新列,但转换为分钟数(varchar) (时间列给出了具体的持续时间)

我在公式部分(在SQL Server Management Studio中)尝试了以下命令

(CONVERT([varchar](10),[Duration],(10)))
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

任何想法可能出错?

2 个答案:

答案 0 :(得分:1)

如果您想添加一个存储分钟数的新列,使用INT毕竟,分钟的数字是一个数字值.....

您可以非常轻松地使用更改脚本执行此操作:

ALTER TABLE dbo.YourTable
ADD TimeInMinutes AS DATEDIFF(MINUTE, 0, YourTimeColumnHere) PERSISTED

或者你也可以在视觉设计师中做到这一点,只需添加公式:

DATEDIFF(MINUTE, 0, YourTimeColumnHere) 

尽量确保将此列设为持续列,以便仅在时间列发生变化时进行计算和更新 - 而不是每次都可以访问它....

答案 1 :(得分:0)

使用datediff(mi, '00:00:00', <your time>)

参见 sql fiddle demo