13

I'm having trouble replicating the mod function in SQL sever.

In excel, mod (-3, 7) = 4. But in SQL, -3 % 7 = -3

Am I using % wrong, or does SQL do mod differently?

4

2 に答える 2

26

これにより、xの正の値と負の値の両方で0からn-1の間の結果が得られます。

((x % n) + n) % n
于 2012-05-06T17:55:41.133 に答える
2

まあ、モジュラー演算は整数の同値類で行われるので、ExcelもRDBMSも「%間違っている」ことはありません。ただし、0〜6の代表者が必要な場合は、いつでも実行できます。

select (-3 % 7) + 7;
于 2012-05-06T17:52:27.017 に答える