Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL può dividere una colonna?

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 .