Sql durdur

topla -  
 topla -
Voila, j'ai dans ma table un champ dont la valeur est de 0 a 255 (soit 1 octet)
Ce champ represente plusieurs informations pour moi, puisqu'en fait chaque bit positionné a 0 ou 1 est la reponse oui/non a une question.
Le probleme est au moment de la recherche sur ce champs,
je fait un "select (...) where (BIN(moncham)&BIN(16))"
ca ne marche pas!! pourtant les valeurs dans la table son correct,
si je me tropme pas:
01010101 &
10101010 devrait faire 0
en fait mon truc marche qu'avec 1 ou 2 a la place de 16... mais pas dans les autrs cas !!?

Si quelqun a une idée

4 réponses

  1. slopera Messages postés 70 Statut Membre
     
    La comme sans connaître, pour moi, 16, c'est 00010000. Donc si tu fait un & entre
    01010101 et
    00010000 cela donne
    00010000 !
    et pas 0.
    Cela vient peut-être tout simplement de la.

    Bon courage
    Stéphanie
    0
  2. topla
     
    non, 16 c'etait pour l'exemple.. des fois je cherche 2 des fois 255 ...
    0
  3. slopera Messages postés 70 Statut Membre
     
    Quelle est ta requête toute entière ?
    0
  4. topla
     
    select * from matable .... mais le bug vient du Bin()&Bin()
    Apparement, ce serait de la faute a mysql, car mon truc marche sur le papier, et les données sont correctes...
    0
    1. topla
       
      oui mais c'est un ET bit a bit, donc & .. cela dit jai quand meme essaye un peu tout dont le &&...
      0
      1. slopera Messages postés 70 Statut Membre > topla
         
        Mais le problême, c'est quoi ?
        Une erreur à l'éxecution ou alors une erreur car le résultat n'est pas celui que tu escomptais.
        Dans ce dernier cas, pourrais tu donner un exemple de ce qui est en base et du résultat de la requête.
        0
      2. slopera Messages postés 70 Statut Membre > topla
         
        Je viens de voir que le ET bit à bit se faisait selon l'exemple :

        mysql> select 29 & 15;
        -> 13
        (source Nexen)
        29 = 11101
        15 = 01111
        13 = 01101
        donc ça roule comme cela.
        Si cela se trouve la solution, c'est simplement que tu n'as pas besoin de mettre le BIN(). Si c'est cela, dis le moi.

        Stéphanie
        0
      3. topla > topla
         
        nan, javais esayer, mais c'etait pas mieux, desolé, mais wekend, et pas le temps de tut vous expliquer.. de toute facon j'ai laisse tomber et changer de strategie, mais merci !!
        ps: pas d'erreur, mais resultat pas comme prevu.. j'etais dans le juste pour le &... mais cela ne marche pas avec sql.. (bug?)
        0