Sembra funzionare:
substring_index ( substring_index ( context,',',1 ), ',', -1)
substring_index ( substring_index ( context,',',2 ), ',', -1)
substring_index ( substring_index ( context,',',3 ), ',', -1)
substring_index ( substring_index ( context,',',4 ), ',', -1)
significa 1° valore, 2°, 3°, ecc.
Spiegazione:
Il substring_index
interno restituisce i primi n valori separati da virgole. Quindi, se la tua stringa originale è "34,7,23,89", substring_index( context,',', 3)
restituisce "34,7,23".
Il substring_index
esterno prende il valore restituito dal substring_index
interno e il -1
ti permette di prendere l'ultimo valore. Quindi ottieni "23" da "34,7,23".
Invece di -1
se specifichi -2
, otterrai "7,23", perché ha preso gli ultimi due valori.
Esempio:
select * from MyTable where substring_index(substring_index(prices,',',1),',',-1)=3382;
Qui, prices
è il nome di una colonna in MyTable
.