我想知道是否有可能使用IN子句进行查询,其中的选项是LIKE子句,例如我有我的现有SQL返回相同的结果,因为我打算它看起来像关于如何做的一个圆。PostgreSQL在哪里查询
SELECT *
FROM pg_stat_activity
WHERE application_name NOT LIKE '%psql%'
AND (current_timestamp - state_change) > INTERVAL '30 minutes'
AND state IN (
SELECT state
FROM pg_stat_activity
WHERE state LIKE '%idle%'
OR state LIKE '%disabled%'
)
有没有一种方法,其中沿着
SELECT *
FROM pg_stat_activity
WHERE application_name NOT LIKE '%psql%'
AND (current_timestamp - state_change) > INTERVAL '30 minutes'
AND state IN ('%idle%', '%disabled%')
这个回答解决了我的问题,但如果有类似的可以用奇异期权和多种选择,那么为什么会有人曾经使用LIKE做到这一点? – Trent
@Trent'SIMILAR TO'在引擎盖下使用正则表达式。所以我期望它可能比'LIKE'慢。但我不认为这是你的情况 – Arsen