Mi chiedevo se è possibile eseguire una query utilizzando la clausola IN in cui le opzioni al suo interno sono clausole LIKE, ad esempio ho il mio SQL esistente che restituisce gli stessi risultati che intendo sembra proprio come un giro sul modo di farlo.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%'
)
C'è un modo per sostituire con qualcosa sulla falsariga di
SELECT *
FROM pg_stat_activity
WHERE application_name NOT LIKE '%psql%'
AND (current_timestamp - state_change) > INTERVAL '30 minutes'
AND state IN ('%idle%', '%disabled%')
Questa risposta ha risolto il mio problema ma se SIMILE TO può farlo con opzioni singolari e opzioni multiple, allora perché qualcuno dovrebbe usare LIKE? – Trent
@Trent 'SIMILAR TO' usa regex sotto il cofano. Quindi mi aspetto che funzioni più lentamente di 'LIKE'. Ma non penso che sia il tuo caso – Arsen