Мне нужно UNION ALL
столбец JSON
в Postgres 9.2. Но Postgres отвечает этой ошибкой:
ERROR: could not identify an equality operator for type json SQL state: 42883 Character: 9
На запрос:
(select cast('{"billingcode" : "' || billingcode || '"}' as JSON)
from billing_2012_08 limit 10)
union
(select cast('{"charged" : "' || charged || '"}' as JSON)
from sending_response_2012_08 limit 10)
Что здесь не так?
Кажется, в Postgres нет оператора равенства для типа данных json
.
Если это правильно, то почему?
В качестве примера, пытаясь выяснить проблему, это отлично работает:
(select cast('{"billingcode" : "' || billingcode || '"}' as JSON)
from billing_2012_08 limit 10)
union all
(select cast('{"charged" : "' || charged || '"}' as JSON)
from sending_response_2012_08 limit 10)
Обратите внимание, что UNION ALL
просто «добавляет» результаты, а не просто UNION
, который устраняет повторяющиеся значения.