Comment ecrire une adresse ip en sql

Résolu
hiba -  
 hiba -
bonjour tout le monde
je cherche comment écrire une adresse ip en sql
en fait j'ai une table t1 qui contient un champ message
je veux afficher tous les messages qui contient une adresse ip dedans
select * from t1 where message is like .......
c'est comment ecrire une adresse ip 4 en sql
merci pour vos propositions.

1 réponse

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Je tenterais une expression rationnelle.
    Tu as peux trouver la doc là : https://dev.mysql.com/doc/refman/5.7/en/regexp.html

    Une première version naïve serait quelque chose comme ça :
    SELECT * FROM t1
    WHERE message REGEXP '[[:digit:]]{1,3}[.][[:digit:]]{1,3}[.][[:digit:]]{1,3}[.][[:digit:]]{1,3}'
    

    (Mais quelle syntaxe horrible...)

    J'ai dit que c'était naïf parce que ça va accepter n'importe quelle chaîne constituée de 4 nombre de 1 à 3 chiffres séparés par des points. Donc aussi quelque chose comme 564.12.45.268 qui n'est pourtant pas une adresse IP valide.

    Xavier
    0
    1. Utilisateur anonyme
       
      ou simplement
      WHERE champ like '%@%'


      No ??
      0
    2. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      Euh... Si, peut-être ? Mais je vais avoir besoin d'explications. On cherche une adresse IP, par e-mail, hein ?
      Ou alors c'est un wildcard qui signifie « adresse IP » ? Je ne suis pas spécialiste MySQL, mais je n'ai pas vu ça dans la doc.
      0
    3. hiba
       
      non je cherche comment ecrire une adresse ip en sql c'est à dire 1à3 chiffres.1à3 chiffres.1à3 chiffres.1à3 chiffres
      sachant que 1à3 chiffres entre 1 à 255
      0
    4. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      (Oui pour ça, la réponse que je t'ai donnée devrait te satisfaire, non ?)
      0
    5. hiba
       
      oui parfait ça marche
      merci beaucoup
      0