Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 SQL 服务器中复制 mod 函数时遇到问题。
在 excel 中,mod (-3, 7) = 4。但在 SQL 中,-3 % 7 = -3
我是在使用 % 错误,还是 SQL 做的 mod 不同?
对于 x 的正值和负值,这将给出介于 0 和 n - 1 之间的结果:
((x % n) + n) % n
好吧,模运算是在整数的等价类上完成的,因此 Excel 和任何 RDBMS 都没有“%做错”。但是,如果您想要一个介于 0 和 6 之间的代表,您总是可以这样做
%
select (-3 % 7) + 7;