查找偶数或奇数ID值

Pho*_*nix 48 sql sql-server-2008

我今天正在处理一个查询,要求我使用以下内容查找所有奇数ID值

(ID % 2) <> 0
Run Code Online (Sandbox Code Playgroud)

谁能告诉我这是做什么的?它运作良好,但我想知道原因.

Dai*_*air 62

ID % 2如果将ID除以2,则检查余数是多少.如果将偶数除以2,则其余值均为0.任何其他数字(奇数)将导致非零值.这是检查的内容.


ana*_*han 19

为了找到我们应该使用的偶数

select num from table where ( num % 2 ) = 0
Run Code Online (Sandbox Code Playgroud)


Men*_*han 7

如以下文档指定

股息百分比

返回一个数字的余数除以另一个。

https://docs.microsoft.com/zh-cn/sql/t-sql/language-elements/modulo-transact-sql#syntax

例如

13%2返回1

下一部分<>表示不等于。

因此,当您的语句除以2等于0时,其含义是ID的余数

请注意,因为这在Oracle数据库中不起作用。相同的表达式将如下所示。

MOD(ID, 2) <> 0
Run Code Online (Sandbox Code Playgroud)


Erw*_*ter 6

ID % 2将所有整数(货币和数字也允许)数字有效地减少到0和1.
阅读手册中模数运算符.


Sau*_*abh 6

在甲骨文中,

select num from table where MOD (num, 2) = 0;
Run Code Online (Sandbox Code Playgroud)