Mysql
 sql >> Base de données >  >> RDS >> Mysql

Décomposer les données en colonnes dans mysql

Vous pouvez écrire une fonction MySQL personnalisée appelée fonction définie par l'utilisateur qui peut recevoir le nom de la variable et la valeur à rechercher, puis renvoyer la ligne ou l'ID, etc. selon vos besoins.

Dans cette fonction, vous devrez parcourir toutes les lignes dans un curseur en lecture seule et utiliser SUBSTRING_INDEX() pour obtenir les valeurs séparément et vérifier la correspondance.

Si vous avez besoin d'aide supplémentaire, faites-le moi savoir.

Pour plus d'informations, consultez le manuel MySQL pour les fonctions de chaîne ici .

Un extrait d'un commentaire d'utilisateur du lien ci-dessus qui pourrait vous aider à écrire la fonction :Cela divisera une adresse IP ("a.b.c.d") en 4 octets respectifs :

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