IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Faire l'inverse d'une requete


Sujet :

MS SQL Server

  1. #1
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut Faire l'inverse d'une requete
    Bonjour, j'ai un morceau de code SQL qui transforme une adresse IP en une suite de chiffre comme expliqué a cette adresse :

    http://support.microsoft.com/kb/891223

    la requete transforme une IP 172.16.1.1 en 2886729985

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT 
    CAST(SourceIP / 256 / 256 / 256 % 256 AS VARCHAR) + '.' + 
    CAST(SourceIP / 256 / 256 % 256 AS VARCHAR) + '.' + 
    CAST(SourceIP / 256 % 256 AS VARCHAR) + '.' + 
    CAST(SourceIP % 256 AS VARCHAR) 
    AS [Nice Source Ip]
    Déjà je comprends pas la requete, j'ai essayé de la reproduire sans resultat.
    Moi je voudrais faire l'inverse, convertir 2886729985 en 172.16.1.1.

    Comment Faire ? Merci.

  2. #2
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    salut,
    en fait SourceIP est l'adresse IP (172.16.1.1) qui est eà l'origine une interprétation decimal d'un groupe de 4 octets qui, si on traduit en Hexa, donne AC 10 01 01 et si tu prends cette valeur et que tu l'interprete en décimal (sans les ".") donne 2886729985
    la requête ne fait qu'afficher (séparer) la valeur d'origine qui est 172.16.1.1
    si tu veux faire l'inverse tu vas devoir trouver la valeur hexa de chaque octet de l'adresse et ensuite les coller et convertir en le tout en décimal

    j'espére que c'est assez clair ...

    ps : la calculatrice de windows le fait assez facilement

  3. #3
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    en fait la requete que j'ai mise transforme la valeur 2886729985 en 172.16.1.1

    C'est exactement ce que je voulais, mais au depart je pensais que la requete faisait l'inverse !!

    Voila, je suis une quiche des fois.

  4. #4
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    y a pas de problèmes... si tu cherches y a des objets en C# qui permettent de travailler avec des adresses IP et qui font directement cette conversion.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. faire un filtre dans une requete sql
    Par EFFLYINGJOKER dans le forum Développement
    Réponses: 1
    Dernier message: 02/04/2009, 16h22
  2. Peut-on faire des cumuls dans une requete ?
    Par kikidrome dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 20/03/2008, 16h12
  3. faire un arrondi dans une requete
    Par popofpopof dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 18/10/2007, 20h35
  4. Réponses: 1
    Dernier message: 28/03/2007, 12h23
  5. faire plusieurs having dans une requete mysql
    Par sirbaldur dans le forum Requêtes
    Réponses: 1
    Dernier message: 15/11/2006, 10h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo