我正在执行以下查询:
SELECT *
FROM "Organization"
WHERE "allowedDomains" @> '{"gmail.com"}'
AND NOT "blacklist" @> '{"example@gmail.com"}';
我希望此查询列出在allowedDomains
(string[])中包含gmail.com
的所有组织,如果该组织在blacklist
(string[])example@gmail.com
中包含,则不包括该组织。
当我这样做:
SELECT *
FROM "Organization"
WHERE "allowedDomains" @> '{"gmail.com"}'
我得到
然后加上AND NOT "blacklist" @> '{"example@gmail.com"}';
结果为0。
(Just澄清一下,我只是使用example@gmail.com来编辑电子邮件,我尝试过滤的查询电子邮件键入正确)
1条答案
按热度按时间mwkjh3gx1#
如果两个数组中的任何一个是
null
,则@>
运算符的结果也是null
。使用coalesce()
。