5

我正在使用此查询来查找表中的数据,其中profile是一JSONB列并且它有效,但前提是名称正是该名称

SELECT * FROM "users" WHERE "profile" @> '{"name":"Super User"}'

是否有可能具有更大的灵活性,例如不区分大小写、通配符等?

"Super%""super user"

4

1 回答 1

11

我找到了解决问题的方法:

SELECT * FROM "users" WHERE (profile #>> '{name}') ILIKE 'super %'

我不知道这是否表现得足够好,但它确实有效。
向它添加索引可能是明智的。

于 2014-12-29T14:04:33.203 回答