separate da virgole argomento per IN operatore, MySQL
-
09-10-2019 - |
Domanda
Ho una tabella in cui la seguente query funziona bene:
select *
from session_actions
where action_type IN ('login_failed','channel_recorded')
Ora non vedo l'ora di qualche cosa come la seguente:
select *
from session_actions
where action_type IN ('login_failed,channel_recorded')
Come vedi io voglio dare all'operatore IN
un unico parametro separati da virgole, ma non è possibile
Come posso convertire questo separati da virgola stringa in una lista di parametri che è accettabile per operatore IN
?
Soluzione
Si potrebbe essere alla ricerca di FIND_IN_SET () la funzione.
select *
from session_actions
where find_in_set(`action_type`,'login_failed,channel_recorded');
Altri suggerimenti
ho provato FIND_IN_SET
ma era super lento. Io invece uso haystack REGEXP CONCAT('[[:<:]]', needle, '[[:>:]]')
da allora.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow