SQL错误。它只能在凌晨12点之前使用

时间:2017-11-29 13:04:32

标签: sql sql-server

main

当我把SET @secret= - (convert(float,getdate()) - convert(int,getdate()) ) * 1000000 ; 放在之前(转换,它在上午12点之后工作,但当我删除'-'它在12 AM之前工作。这很奇怪。我该怎么做才能防止这个?

1 个答案:

答案 0 :(得分:0)

您似乎想要这个计算:

select -1000000 * datediff(second, 0, cast(getdate() as time)) / (24*60*60.0)

我建议您使用此方法而不是更神秘的方法将一天的分数转换为大数。

或者,如果您更喜欢更精确:

select -1000000 * datediff(millisecond, 0, cast(getdate() as time)) / (24*60*60*1000.0)