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?

È stato utile?

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');

CAMPIONE FIDDLE

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
scroll top