Conversion hexa decimale

Résolu
Bonjour,

je voulais convertir cette adresse IP qui est en hexa 0a0103c1 et qui est stocké dans une table en decimale(10.1.3.193)
je passe par convert ------select convert(IP,16,10) from table---- mais il me donne pas la bonne conversion du faite que la fonction procédé par 2carctere
je cherche une fonction qui peut faire le travail la fois et me donner la bonne adresse 10.1.3.193.
je suis bloqué et je demande votre aide.
merci d'avance.

7 réponses

  1. merci pour votre réponse mais mois je veux passer par une requête Mysql
    pour convertir des adresse qui sont en hexa dans une table
    merci d'avance
    1. Modérateur
      Salut,

      Il faut utiliser une fonction chaine de caractères pour isoler les caractères par 2

      Sous oracle (si le convert existait) j'utiliserais la fonction SUBSTR(chaine, position debut, longueur) :

      select convert(substr(IP,1,2),16,10)||'.'||
      convert(substr(IP,3,2),16,10)||'.'||
      convert(substr(IP,5,2),16,10)||'.'||
      convert(substr(IP,7,2),16,10)
      from table

      cdlt

      Un étranger, c'est un ami qu'on n'a pas encore rencontré.
      1. merci pour votre reponse je vais tester ca et je vous repondrai
        1. Bonsoir

          Syntaxe très voisine avec mysql :
          SELECT CONCAT_WS('.',
            CONV(SUBSTRING(IP,1,2),16,10),
            CONV(SUBSTRING(IP,3,2),16,10),
            CONV(SUBSTRING(IP,5,2),16,10),
            CONV(SUBSTRING(IP,7,2),16,10)) FROM table