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

 MySQL Discussion :

Convertir chaine caractère en binaire


Sujet :

MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 210
    Points : 91
    Points
    91
    Par défaut Convertir chaine caractère en binaire
    Bonjour,

    J'ai un petit soucis avec la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `base` WHERE BIT_COUNT(PHASH ^ "1101100101111001011000010110100101101001010100011101001011010001") <1
    Mon problème vient du fait que "PHASH" est de type "binary(64)". Comment puis-je convertir ma chaine caractère "1101100101111001011000010110100101101001010100011101001011010001" en binaire?
    J'ai fait un essai sans succès avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `base` WHERE BIT_COUNT(PHASH ^ CONVERT("1101100101111001011000010110100101101001010100011101001011010001",BINARY)) < 1
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Hello,

    Je n'ai jamais fait ça, mais selon la doc, il faut écrire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     BIT_COUNT(PHASH ^ b'1101100101111001011000010110100101101001010100011101001011010001') <1
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 210
    Points : 91
    Points
    91
    Par défaut
    pas loin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `base` WHERE BIT_COUNT(CONV (PHASH,2,10) ^ 0b1101100101111001011000010110100101101001010100011101001011010001) <1
    Cela fonctionne mais je trouve cela ... peut être pas optimal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `base` WHERE `PHASH` LIKE '1101100101111001011000010110100101101001010100011101001011010001'
    Est bien plus rapide et donne le même résultat (bien sur, plus tard, je vais modifier la valeur de "<1")

    Je trouve "con" de convertir toute la base de donnée (enfin la colonne PHASH). JE me doute que cela ralenti la requête.

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 22/08/2012, 20h11
  2. Réponses: 8
    Dernier message: 23/04/2009, 17h57
  3. convertir chaine de caractère hexadecimale en image
    Par cotede2 dans le forum ImageJ
    Réponses: 1
    Dernier message: 20/04/2009, 16h15
  4. Convertir chaine de caractère en suite de codes ASCII
    Par mixka13 dans le forum Débuter
    Réponses: 7
    Dernier message: 20/11/2008, 17h05
  5. [VB.net 2005] convertir chaine de caractère en type 'date'
    Par kinganasius dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/07/2006, 23h14

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