Мне было интересно, можно ли сделать запрос, используя предложение IN, где параметры внутри него являются предложениями LIKE, например, у меня есть мой существующий SQL, который возвращает те же результаты, что и я, кругом о том, как это сделать.PostgreSQL WHERE IN LIKE query
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%')
Этот ответ решил мою проблему, но если аналогичный TO может сделать это с помощью уникальных опций и нескольких вариантов, то зачем кому-либо когда-либо использовать LIKE? – Trent
@Trent «ПОДОБНОЕ TO» использует регулярное выражение под капотом. Поэтому я ожидаю, что он может работать медленнее, чем 'LIKE'. Но я не думаю, что это ваш случай. – Arsen