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

Langage SQL Discussion :

Comparaison de bit!


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Par défaut Comparaison de bit!
    bonjour,

    Voilà j'ai utilisé il y a quelques temps une comparaison de bit dans une clause WHERE mais je ne me souviens plus comment ça marche et j'aimerai refaire la même chose pour une autre appli.

    J'ai:
    choix 1 = 1
    choix 2 = 2
    choix 3 = 4
    choix 5 = 8

    donc différentes combinaison possible dans ma table: 1,2,4,8,3,5,6,9,11......

    Ce que je voudrais c'est dans ma requete SQL récuperer les enregistrement qui continennent les choix 2 ou 3 par exemple
    Comment puis je écrire la clause Where?

    SI vous avez un lien vers un cours qui traite ce sujet, je suis preneur.

    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    Pour extraire les "bits" d'un entier (je me suis limité à 4 bits...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select ((NB mod 16) / 8)    as I8
        ,    ((NB mod 8) / 4)    as I4
        ,    ((NB mod 4) / 2)    as I2
        ,    ((NB mod 2) / 1)    as I1
    ...
    L'opérateur MOD (modulo) n'est pas standard mais tu as peut-être une fonction MOD() équivalente sur ton SGBD.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Par défaut
    J'utilise MySQL 4.
    Je ne connais pas du tout ce que tu asmarqué, je vais chercher.

    ce que j'avais utilisé avant étant de la forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM table WHERE verfiBit & 6 > 0
    Mais je ne me souveins plus exactement de comment marche cette formulation et je n'arrive pas retrouver la doc MySQL dessus.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Par défaut
    Edit, mauvaise réponse!

  5. #5
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    Ce genre de requete peut vous aider peut etre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT  DISTINCT nb FROM essai 
    WHERE(nb & POWER(2,(2-1)) = POWER(2,(2-1)))
    OR (nb & POWER(2,(3-1)) = POWER(2,(3-1)))
    Bon courage

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    A ma connaissance, les opérateurs binaires ne font pas partie du langage SQL
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. Comparaison des bits de poids faible
    Par n.x.b.c dans le forum C
    Réponses: 2
    Dernier message: 31/07/2014, 16h37
  2. comparaison bit à bit
    Par rudyhadoux dans le forum C++Builder
    Réponses: 6
    Dernier message: 24/10/2007, 18h59
  3. [Fortran 77][Débutant] Comparaison bit à bit
    Par zenii dans le forum Fortran
    Réponses: 1
    Dernier message: 21/09/2007, 15h29
  4. Réponses: 3
    Dernier message: 22/09/2005, 10h34
  5. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25

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