【发布时间】:2012-10-12 22:12:15
【问题描述】:
我有一个转换方法来完成将 datediff() 转换为 dd:hh,但我也尝试在其中添加一些额外的计算,这会导致将 numeric 转换为 varchar 时出现算术溢出错误。
我不是在寻找任何人来解决我的算术问题,只是在寻找我可以自己尝试和测试的替代转换方法,如果这没有意义,请告诉我,不确定不同的方法是否会改变任何东西。
这是当前的方法:
-- resulting in Days
convert(varchar(10), (datediff(second, startdate, enddate)/86400)+':'+
-- resulting in hours
convert(varhcar(10), (datediff(second, startdate, enddate)%86400/3600)) as 'DD:HH'
还有谁可以实现同样的目标?
也许更好的方法是问有没有办法限制在此执行的算术返回一个较短的整数,以便我可以努力避免溢出错误?
【问题讨论】:
标签: sql tsql datetime datediff