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 :

ASCII() sur valeur d'un champs retourne toujours 0


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Par défaut ASCII() sur valeur d'un champs retourne toujours 0
    Bonjour à tous,

    Soit un champs de table VARCHAR(1) comprenant ces valeurs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    mysql> SELECT DISTINCT region FROM noms;
    +--------+
    | region |
    +--------+
    |        |
    | V      |
    | W      |
    | B      |
    +--------+
    Je souhaitais convertir ce caractère en nombre avec la fonction ASCII pour l'utiliser dans un calcul, mais elle renvoit toujours 0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    mysql> SELECT DISTINCT ASCII(region), region FROM noms;
    +---------------+--------+
    | ASCII(region) | region |
    +---------------+--------+
    |             0 |        |
    |             0 | V      |
    |             0 | W      |
    |             0 | B      |
    +---------------+--------+
    alors que cette fonction appliquée à une chaîne fixe renvoit bien un nombre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    mysql> SELECT ASCII('V');
    +------------+
    | ASCII('V') |
    +------------+
    |         86 |
    +------------+
    Où est le problème ? Cela semble n'arriver qu'avec mes champs VARCHAR(1).

    Merci d'avance,

    G.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Si tes codes de régions n'ont toutes qu'un seul caractère, pourquoi utiliser un VARCHAR plutôt qu'un CHAR ?

    Ceci dit, quand on lit la doc, on ne comprend pas pourquoi ça ne fonctionne pas !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Par défaut ASCII() sur valeur d'un champs retourne toujours 0
    Citation Envoyé par CinePhil Voir le message
    Si tes codes de régions n'ont toutes qu'un seul caractère, pourquoi utiliser un VARCHAR plutôt qu'un CHAR ?
    Merci pour cette suggestion, et de d'être penché sur mon problème.

    Ceci dit, quand on lit la doc, on ne comprend pas pourquoi ça ne fonctionne pas !
    J'ai trouvé, j'avais créé cette base avec phpmyadmin et au lieu de cocher uft8_general_ci pour l'encodage par défaut, j'avais sélectionné ucs2

    À présent que l'encodage est correct, ça fontionne...

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

Discussions similaires

  1. [AC-2007] Condition sur valeur d'un champs d'une table en VBA
    Par em3869 dans le forum VBA Access
    Réponses: 3
    Dernier message: 20/08/2012, 12h49
  2. Contrainte sur valeur d'un champ
    Par nesswaw dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/07/2011, 15h26
  3. Contrôle sur valeur d'un champ
    Par Chrissrare dans le forum Access
    Réponses: 5
    Dernier message: 15/02/2007, 13h07
  4. operation sur valeur d'un champs en temps reel ou non
    Par noobster dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/01/2007, 14h12
  5. Réponses: 3
    Dernier message: 24/08/2006, 11h56

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