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

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   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
Utilisateur anonyme
 
ou simplement
WHERE champ like '%@%'


No ??
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   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
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
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
(Oui pour ça, la réponse que je t'ai donnée devrait te satisfaire, non ?)
0
hiba
 
oui parfait ça marche
merci beaucoup
0