首页 > 解决方案 > 用于 Postgresql 的 Teradata 'like any'

问题描述

Teradata 中是否有类似的功能like any在 Postgresql 中可用?

select * from product
where proc_cd like any ('20','23','05','06','07','08','22')

标签: sqlpostgresql

解决方案


您可以使用JOIN(如果通配符喜欢_%存在,则很有用):

SELECT DISTINCT p.*
FROM Product p
JOIN (VALUES ('20'),('23'),('05'),('06'),('07'),('08'),('22')) sub(s)
  ON proc_cd like LIKE sub.s;

或者(如果没有通配符):

select * from product
where proc_cd IN ('20','23','05','06','07','08','22');

select * from product
where proc_cd = any (ARRAY['20','23','05','06','07','08','22']);

推荐阅读