SQL中%的说明

时间:2019-06-12 18:25:29

标签: sql

有人可以解释一下%在SQL中的区别吗?

我知道%是一个通配符,它​​允许您查询带有LIKE个结果的结果,即a% a 开头的单词,但是我是困惑为什么通配符可以用作% 2 = 0来查询偶数?

我看到一个解释,说%可以用作分隔,但我认为/是分隔。

3 个答案:

答案 0 :(得分:2)

a % 2 = 0在这里%作为Modulus算术运算符。

语法:dividend % divisor

样本:SELECT 15 % 2 AS Remainder将返回结果为1

Demo on db<>fiddle

答案 1 :(得分:2)

在字符串外使用时,百分号%modulus operator,即一个运算符,它返回除运算符之前的数字之后的余数。

因此,在您的示例中,如果百分比符号前面的数字为偶数,例如,表达式% 2 = 0将被验证。 12 % 2 = 0将返回True

而在like表达式的模式参数中使用时,百分比符号表示通配符运算符,可匹配任何字符序列(或根本没有字符)。

答案 2 :(得分:0)

让我们看一个例子:
我创建了一个表名-'c',其中包含2个属性'name'和'num'。

当计算num%10时,例如55%10->给出5.
如果结果是2或7,则不会打印该行
Elseif结果(num%10)不是2或7,那么在这种情况下它将打印该行。

现在:

Select *from c where num%10 NOT In(2,7);  

在此处查看屏幕截图:enter image description here