Frage

Ich habe eine SQL-Datenbank unter Verwendung von Java erstellt, bin ich ein Noob, wenn es um SQL kommt aber haben sie so konfiguriert und eingerichtet, ich habe eine Tabelle erstellt, die zwei Spalten aufweist, wobei die erste eine große ganze Zahl mit einem Hex welche Schritten, die Anzahl in die zweite habe ich versucht, es als char, varchar und binär zu definieren, aber im noch nicht die gewünschte Funktion bekommen, sagen, dass ich versuchen und zu speichern 0a die char-Spalte i einen Fehler, den beigefügten i 0x an den Anfang ein, es zu speichern scheint, aber wenn ich den Inhalt auszudrucken es leer ist oder in einigen Fällen i-Charaktere wie ‚/‘ oder ‚?‘, habe ich auch versucht, sQL-Explorer verwenden und es gibt mir das gleiche Ergebnis sehen sie die Tabelle,

Mein Problem ist, ich brauche einen acht Zeichen Hex-String wie eb8d4ee6 zu speichern.

Könnte jemand bitte mir sagen, wie kann dies geschehen?

War es hilfreich?

Lösung

Ist hier eine große Blog-Post Ich bezeichne mich immer von dem richtigen Umgang mit Hex-Werten erinnern und Binärfelder und Implikationen einiger Performance legt.

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

Andere Tipps

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

  

unterstützt MySQL Hexadezimalwerte,   geschrieben mit X'val 'x'val' oder 0xval   Format, in dem val hexadezimal enthält   Ziffern (0..9, A..F). Schreibweise des   Stellen keine Rolle spielt. für Werte   mit X'val 'oder x'val' Format geschrieben,   val muss eine gerade Anzahl von enthalten   Ziffern. Für Werte geschrieben 0xval mit   Syntax, die eine ungerade Werte enthalten,   Anzahl der Stellen werden so behandelt, als mit   ein extra führenden 0. Zum Beispiel 0x0a   und 0xaaa als 0x0a interpretiert und   0x0aaa.

     

In numerischen Kontexten, hexadezimal   Werte wie ganze Zahlen handeln (64-bit   Präzision). In String Kontexten, sie   wirken wie binäre Strings, wobei jeder   Paar von Hexadezimalziffern wird in ein umgewandeltes   Charakter:

Sie sollten wahrscheinlich die Hex-Nummer in einer Integer-Spalte speichern. Sie können dann zu hex konvertieren zurück, wenn mit der Auswahl HEX() Funktion.

z. B.

INSERT INTO MyTable (`MyIntegerColumn`) VALUES (0xeb8d4ee6);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top