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

Suddividi i dati in colonne in MySQL

Puoi scrivere una funzione MySQL personalizzata chiamata funzione definita dall'utente che può ricevere il nome della variabile e il valore da cercare e quindi restituire la riga o l'ID ecc. di cui hai bisogno.

In quella funzione, dovrai scorrere tutte le righe in un cursore di sola lettura e utilizzare SUBSTRING_INDEX() per ottenere i valori separatamente e verificare la corrispondenza.

Se hai bisogno di ulteriore assistenza, fammi sapere.

Per ulteriori informazioni, consulta il manuale MySQL per funzioni stringa qui .

Un estratto dal commento di un utente dal link sopra che potrebbe aiutarti a scrivere la funzione:Questo dividerà un indirizzo IP ("a.b.c.d") in 4 rispettivi ottetti:

SELECT
`ip` , 
SUBSTRING_INDEX( `ip` , '.', 1 ) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', 2 ),'.',-1) AS b, 
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', -2 ),'.',1) AS c,
SUBSTRING_INDEX( `ip` , '.', -1 ) AS d
FROM log_table