我在复制 SQL 服务器中的 mod 函数时遇到问题。
在 excel 中,mod (-3, 7) = 4。 但在 SQL 中,-3 % 7 = -3
我使用%是错误的,还是SQL以不同的方式进行修改?
对于 x 的正值和负值,这将给出介于 0 和 n - 1 之间的结果:
((x % n) + n) % n
嗯,模算术是在整数的等价类上完成的,所以 Excel 和任何 RDBMS 都没有"做错%
"。 但是,如果您想要一个介于 0 和 6 之间的代表,您可以随时这样做
select (-3 % 7) + 7;