繁体   English   中英

带有数组通配符的“不喜欢任何”子句不起作用

[英]'Not ilike any' clause with wildcard from an array doesn't work

就像标题一样,下面的代码根本不过滤任何东西,它返回所有行,而没有'NOT'它工作得很好。 问题出在哪里?

create table test (value text);

    insert into test values
    ('Test1'),
    ('foo'),
    ('bar'),
    ('foobar'),
    ('foobar2'),
    ('foobar3'),
    ('foo1bar'),
    ('foo bar'),
    ('barbar');
    
    select *
    FROM test
    WHERE value NOT like any (array['%foo%', '%foo bar%', '%xx%']) 

https://www.db-fiddle.com/f/gCFy3K97gQy7gxomAL2Qm7/0

我假设你的意思not like any不工作。 我认为那是因为你not like all

SELECT *
FROM test
WHERE value  like all (array['%foo%', '%foo bar%', '%xx%']) 

是一个 db<>fiddle。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM