tMod 在 SQL 中的负数就像 excel 一样

  • 本文关键字:excel 一样 SQL tMod sql tsql
  • 更新时间 :
  • 英文 :


我在复制 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;

最新更新