GETDATE()减去1/2与减0.5相同

时间:2017-09-11 12:58:49

标签: sql-server

为什么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

相同

2 个答案:

答案 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