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

Requêtes MySQL Discussion :

Fonction UNHEX MySQL


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 10
    Par défaut Fonction UNHEX MySQL
    Bonjour,

    J'aimerais convertir un champs qui est en hexadecimal en string je suis sur une base MySQL.
    J'ai utilisé la fonction UNHEX qui permet d'effectuer une conversion cependant elle me renvoit une valeur NULL.

    Avez-vous une idée ?

  2. #2
    Membre chevronné Avatar de Sebwar
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 172
    Par défaut
    Hello !

    Pour convertir en hexadécimal c'est la fonction HEX() qu'il faut utiliser

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 10
    Par défaut
    Mon champs est en hexadecimal et je voudrais le convertir en string

  4. #4
    Membre chevronné Avatar de Sebwar
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 172
    Par défaut
    autant pour moi, je ne suis pas réveillé, j'ai mal lu !

    est ce que tu pourrais nous mettre un exemple de valeur que tu passes dans la fonction UNHEX et qui te retourne NULL ?

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 10
    Par défaut
    Tu peux trouver ci-joint deux exemples de rêquetes effectuer.
    Images attachées Images attachées   

  6. #6
    Membre chevronné Avatar de Sebwar
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 172
    Par défaut
    De mon coté quand j'exécute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select UNHEX ('52e9616c69736174696f6e206465206465757820736f6c7574696f6e7320706172206d6f697320')
    PHPMyAdmin me renvoi "52e9616c69736174696f6e206465206465757820736f6c7574696f6e7320706172206d6f697320"
    alors que si je l'exécute directement sur le serveur ça me retourne "Réalisation de deux solutions par mois"
    donc peut être que le problème vient de PHPMyAdmin

    Pour les null, en revanche, c'est autre chose, à priori la fonction renvoie null quand la chaine n'est pas une chaine hexadécimale, si tu pouvais nous montré le résultat de cette requête qu'on puisse vérifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Objectif_2, UNHEX(Objectif_2) FROM t_eae_backup
    Met le résultat en texte et non en image comme ça je peux faire des tests de mon côté directement en copiant collant les valeurs

  7. #7
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 917
    Par défaut
    Salut balanciaga.

    Citation Envoyé par balanciaga
    J'aimerais convertir un champs qui est en hexadecimal en string je suis sur une base MySQL.
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    --------------
    select hex('conversion en hexadécimal') as HEX
    --------------
     
    +----------------------------------------------------+
    | HEX                                                |
    +----------------------------------------------------+
    | 636F6E76657273696F6E20656E206865786164E963696D616C |
    +----------------------------------------------------+
    --------------
    select unhex('636F6E76657273696F6E20656E206865786164E963696D616C') as chaine
    --------------
     
    +---------------------------+
    | chaine                    |
    +---------------------------+
    | conversion en hexadécimal |
    +---------------------------+
    --------------
    select hex('converion en chaine de caractères') as HEX
    --------------
     
    +--------------------------------------------------------------------+
    | HEX                                                                |
    +--------------------------------------------------------------------+
    | 636F6E766572696F6E20656E20636861696E6520646520636172616374E8726573 |
    +--------------------------------------------------------------------+
    --------------
    select unhex('636F6E766572696F6E20656E20636861696E6520646520636172616374E8726573') as chaine
    --------------
     
    +-----------------------------------+
    | chaine                            |
    +-----------------------------------+
    | converion en chaine de caractères |
    +-----------------------------------+
     
    Appuyez sur une touche pour continuer...
    Maintenant, si ta chaine n'est pas dans un format hexadécimale, tu ne pourras pas avec la fonction 'unhex' obtenir le message en clair.

    Tu parles dans ton dernier message du conversion avec 'to_base64'.
    Voici un autre exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    --------------
    select to_base64('conversion en hexadécimal') as HEX
    --------------
     
    +--------------------------------------+
    | HEX                                  |
    +--------------------------------------+
    | Y29udmVyc2lvbiBlbiBoZXhhZOljaW1hbA== |
    +--------------------------------------+
    --------------
    select from_base64('Y29udmVyc2lvbiBlbiBoZXhhZOljaW1hbA==') as chaine
    --------------
     
    +---------------------------+
    | chaine                    |
    +---------------------------+
    | conversion en hexadécimal |
    +---------------------------+
    --------------
    select to_base64('converion en chaine de caractères') as HEX
    --------------
     
    +----------------------------------------------+
    | HEX                                          |
    +----------------------------------------------+
    | Y29udmVyaW9uIGVuIGNoYWluZSBkZSBjYXJhY3TocmVz |
    +----------------------------------------------+
    --------------
    select from_base64('Y29udmVyaW9uIGVuIGNoYWluZSBkZSBjYXJhY3TocmVz') as chaine
    --------------
     
    +-----------------------------------+
    | chaine                            |
    +-----------------------------------+
    | converion en chaine de caractères |
    +-----------------------------------+
     
    Appuyez sur une touche pour continuer...
    Et tu remarques que la conversion n'est pas au format hexadécimale.

    @+

Discussions similaires

  1. [Syntaxe] utilisation d'une fonction dans mysql
    Par mussara dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 01/04/2007, 19h40
  2. Fonction ASIN mysql
    Par Nious99 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/10/2006, 15h07
  3. Problèmes d'accès aux fonctions de MySQL
    Par lamelfa dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 09/09/2006, 10h16
  4. fonction LIKE Mysql
    Par franfr57 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 30/05/2006, 19h22
  5. Pb de fonction avec mysql
    Par anto48_4 dans le forum SQL Procédural
    Réponses: 12
    Dernier message: 17/03/2006, 14h30

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