Bonjour à vous,
Je cherche à manipuler une adresse IP à partir d'une requête SQL : il faudrait que je puisse extraire facilement les 4 éléments de l'adresse IP afin d'y effectuer une opération mathématique.
Si l'adresse IP (fictive) est la suivante : 112.64.0.14 ; j'arrive à extraire très facilement 112 et 14 grâce à la fonction SUBSTRING_INDEX.
Comment extraire les deux autres valeurs (64 et 0) aussi facilement (sans passer par un SUBSTRING_INDEX imbriqué) ? Cependant, si la solution la plus facile et rapide est le SUBSTRING_INDEX imbriqué alors j'utiliserai cette méthode.
Solution avec la fonction imbriquée :
Merci d'avance pour votre aide !
Modifié par Alphonse (13 Jan 2011 - 11:27)
Je cherche à manipuler une adresse IP à partir d'une requête SQL : il faudrait que je puisse extraire facilement les 4 éléments de l'adresse IP afin d'y effectuer une opération mathématique.
Si l'adresse IP (fictive) est la suivante : 112.64.0.14 ; j'arrive à extraire très facilement 112 et 14 grâce à la fonction SUBSTRING_INDEX.
SELECT SUBSTRING_INDEX('112.64.0.14', '.', 1) AS element_1, SUBSTRING_INDEX('112.64.0.14', '.', -1) AS element_4;
Comment extraire les deux autres valeurs (64 et 0) aussi facilement (sans passer par un SUBSTRING_INDEX imbriqué) ? Cependant, si la solution la plus facile et rapide est le SUBSTRING_INDEX imbriqué alors j'utiliserai cette méthode.
Solution avec la fonction imbriquée :
SELECT SUBSTRING_INDEX( '112.64.0.14', '.', 1 ) AS element_1, SUBSTRING_INDEX( SUBSTRING_INDEX( '112.64.0.14', '.', 2 ) , '.', -1 ) AS element_2, SUBSTRING_INDEX( SUBSTRING_INDEX( '112.64.0.14', '.', -2 ) , '.', 1 ) AS element_3, SUBSTRING_INDEX( '112.64.0.14', '.', -1 ) AS element_4;
Merci d'avance pour votre aide !
Modifié par Alphonse (13 Jan 2011 - 11:27)