以下SQL对我有效,并提供了我想要的结果:

select postdomain from post where postdomain not in (select unnest (string_to_array('youtube.com|twitter.com' , '|'))) ;

我想知道是否有一种方法可以简化where部分?
例如,如果我不需要精确匹配,并且需要不区分大小写的contains匹配,那么这个简单的SQL不需要unnest和string-to-u数组:
select postdomain from post where postdomain !~* 'youtube.com|twitter.com' ;

有没有类似的方法来实现精确匹配?

最佳答案

不需要unest,可以直接使用数组:

select postdomain
from post
where postdomain <> ALL (string_to_array('youtube.com|twitter.com' , '|'))

10-06 10:05