函数中的 Postgres %%
Postgres %% in function
这个语句中的“%%”是什么意思?
SELECT nextval(seq_name) %% 1024 INTO seq_id;
当我使用它时,为什么 Postgres 会说?
operator does not exist: bigint %% integer
很可能,这是将动态 SQL 翻译成 format()
的产物,这需要将 %
个字符加倍。如果翻译正确,应该是 modulo operator %
,这对于分片解决方案或类似解决方案也有意义。实际上,您得到的数字从 0 循环到 1023。
我怀疑这与我们已经在此处处理过的相同:
- What does %% in PL/pgSQL mean?
这个语句中的“%%”是什么意思?
SELECT nextval(seq_name) %% 1024 INTO seq_id;
当我使用它时,为什么 Postgres 会说?
operator does not exist: bigint %% integer
很可能,这是将动态 SQL 翻译成 format()
的产物,这需要将 %
个字符加倍。如果翻译正确,应该是 modulo operator %
,这对于分片解决方案或类似解决方案也有意义。实际上,您得到的数字从 0 循环到 1023。
我怀疑这与我们已经在此处处理过的相同:
- What does %% in PL/pgSQL mean?