Pho*_*nix 48 sql sql-server-2008
我今天正在处理一个查询,要求我使用以下内容查找所有奇数ID值
(ID % 2) <> 0
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这是做什么的?它运作良好,但我想知道原因.
ana*_*han 19
为了找到我们应该使用的偶数
select num from table where ( num % 2 ) = 0
Run Code Online (Sandbox Code Playgroud)
如以下文档指定
股息百分比
返回一个数字的余数除以另一个。
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)