这些查询中的%%和%是什么意思?

时间:2017-06-07 00:16:35

标签: python mysql

我有以下2个Python代码:

def direct_by_node(self, node, partition_size):
    return '''select req.id, req.profile_id as profile
                  from table1 attr
                  where id % {0} = {1}'''.format(partition_size, node)

然后

def find_by_node(self, node, partition_size):
    return '''select req.id, req.profile_id as profile
                  from table1 attr
                  where id %% {0} = {1}'''.format(partition_size, node)

我想知道2个MySQL查询中的%和%%是什么?

修改

当我在MySQL Workbench中尝试%%时,看起来我有语法错误,看起来%%无效。

1 个答案:

答案 0 :(得分:1)

第一个是Modulo操作并计算id的余数除以partition_size,然后将其与node进行比较。

请看一个简单的例子:

mysql> SELECT 253 % 7;
    -> 1 # because 253 = 36*7 + 1

More function_mod examples

您注意到%%不是有效的运算符。