Question

J'ai créé une base de données SQL en utilisant Java, je suis un noob quand il vient à sql mais il a configuré et mis en place, i ont créé une table qui comporte deux colonnes, la première étant un grand nombre entier qui incréments, le second, je l'ai essayé de définir comme un char, varchar et binaire, mais im toujours pas obtenir la fonction désirée, dire que j'essayer de 0a stocker un nombre hexadécimal dans la colonne char je reçois une erreur, j'ajouté 0x au début un, il semble magasin, mais quand j'imprimer le contenu est vide ou dans certains cas, je reçois des caractères tels que « / » ou « ? », j'ai aussi essayé en utilisant l'explorateur sql et il me donne le même résultat regarder le tableau,

Mon problème est que je dois stocker une chaîne hexagonale de huit caractères tels que eb8d4ee6.

Quelqu'un pourrait-il s'il vous plaît me conseiller de la façon dont cela peut être fait?

Était-ce utile?

La solution

Voici un blog je me réfère toujours à me rappeler la manipulation correcte des valeurs hexagonales et les champs binaires, et expose certaines conséquences sur les performances.

http://www.xaprb.com/blog/2009/02/12/5-ways-to-make-hexadecimal-identifiers-perform-better-on-mysql/

Autres conseils

Voir http://dev.mysql.com/doc /refman/5.5/en/hexadecimal-literals.html

  

MySQL supporte des valeurs hexadécimales,   écrit en utilisant X'val 'x'val', ou 0xval   le format, où val contient hexadécimal   chiffres (0..9, A..F). Fa¸on du   chiffres n'a pas d'importance. pour les valeurs   écrit en utilisant X'val format 'ou x'val',   val doit contenir un nombre pair de   chiffres. Pour les valeurs écrites en utilisant 0xval   syntaxe, valeurs qui contiennent un nombre impair   nombre de chiffres sont traités comme ayant   un leader supplémentaire 0. Par exemple, 0x0a   et 0xaaa sont interprétés comme 0x0a et   0x0aaa.

     

Dans un contexte numérique, hexadécimal   Les valeurs agissent comme des nombres entiers (64 bits   précision). Dans un contexte de chaîne, ils   agir comme des chaînes binaires, où chaque   paire de chiffres hexadécimaux est converti en un   Caractère:

Vous devriez probablement enregistrer le numéro hexadécimal dans une colonne entière. Vous pouvez ensuite reconvertir en hex lors de la sélection en utilisant le HEX() fonction.

par exemple.

INSERT INTO MyTable (`MyIntegerColumn`) VALUES (0xeb8d4ee6);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top