为什么GETDATE()-(1/2)
与GETDATE()-(0.5)
(MSSQL v11)不一样?
SELECT GETDATE()-(1/2), GETDATE()-(0.5)
----------------------- -----------------------
2017-09-11 14:57:17.903 2017-09-11 02:57:17.903
当我长大1/2时,与0.5
相同答案 0 :(得分:1)
好的,感谢我发现1/2的评论是隐含的,不幸的是被解释为整数除法,并且(奇怪地)舍入为0。
答案 1 :(得分:0)
它没有四舍五入。
当使用整数x / y就像问y可以适应x的次数,
剩下的(模数)是x-(x / y)* y
1/2 = 0
1%2 = 1
1 = (1/2)*2 + 1%2
x = (x/y)*y + x%y