2015-01-26 2 views
0

Что означает «%%» в этом выражении?Postgres %% in function

SELECT nextval(seq_name) %% 1024 INTO seq_id; 

И почему Postgres говорят, когда я его использую?

operator does not exist: bigint %% integer 
+2

Это либо опечатка для оператора модуля (%) , или это оператор, определенный расширением, которое вы не установили. –

ответ

2

Скорее всего, это артефакт от перевода динамического SQL с format(), который требует, чтобы удвоить % символов. Должен быть modulo operator %, если он переводится правильно, что также имеет смысл для решения осколки или аналогичного. Фактически, вы получите номера задействуя от 0 до 1023.

Я подозреваю, что это так же, как мы уже имели дело с здесь: