SELECT '{}'::json = '{}'::json
将因错误而失败。
JSON是postgres在开箱即用的等式上唯一无法进行比较的数据类型吗?如果不是,那么如何计算出哪些数据类型不能在等式上进行比较(与相同的数据类型(?
我只想得到一个将无法进行相等比较的数据类型列表。
要了解哪些类型支持=
运算符,可以使用以下查询:
select lt.typname as left_type,
rt.typname as right_type
from pg_operator opr
join pg_type lt on lt.oid = opr.oprleft
join pg_type rt on rt.oid = opr.oprright
where oprname = '=';
通过使用NOT EXISTS条件,您可以找出所有不支持=
的类型
select t.typname
from pg_type t
where not exists (select *
from pg_operator opr
where opr.oprname = '='
and opr.oprleft = t.oid
and opr.oprright = t.oid);