我在SQL Server数据库表中有一个time(0)
列,我希望在time(0)
中使用相同的金额创建一个新列,但转换为分钟数(varchar
) (时间列给出了具体的持续时间)
我在公式部分(在SQL Server Management Studio中)尝试了以下命令
(CONVERT([varchar](10),[Duration],(10)))
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
任何想法可能出错?
答案 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>)
: