Domanda

Ho creato un database SQL utilizzando Java, io sono un noob quando si tratta di SQL, ma lo hanno installato e configurato, ho una tabella creata che ha due colonne, il primo essere un grande numero intero che incrementi, il secondo ho provato definisce come un char, varchar e binario, ma im ancora non ottenere la funzione desiderata, dire provo e conservare 0a un numero esadecimale in la colonna char ottengo un errore, ho aggiunto 0x alla iniziando una sembra negozio, ma quando stampo il contenuto è vuoto o in alcuni casi i caratteri risultano ad esempio '/' o '?', ho anche provato utilizzo di SQL esploratore e mi dà lo stesso risultato la visualizzazione della tabella,

Il mio problema è che ho bisogno di memorizzare una stringa esadecimale di otto caratteri, come eb8d4ee6.

Qualcuno potrebbe darmi dei consigli su come questo può essere fatto?

È stato utile?

Soluzione

Ecco una grande post sul blog ho sempre riferisco a ricordare a me stesso di una corretta gestione dei valori esadecimali e campi binari, e delinea alcune implicazioni di prestazioni.

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

Altri suggerimenti

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

  

MySQL supporta valori esadecimali,   scritto utilizzando X'val 'x'val', o 0xval   formato, dove val contiene esadecimale   cifre (0..9, A..F). Lettercase della   cifre non importa. per i valori   scritto utilizzando il formato X'val 'x'val o',   val deve contenere un numero pari di   cifre. Per i valori scritti utilizzando 0xval   sintassi, valori che contengono uno strano   numero di cifre sono trattati come aventi   un extra leader 0. Ad esempio, 0x0a   e 0xAAA vengono interpretati come 0x0a e   0x0aaa.

     

In contesti numerici, esadecimale   I valori si comportano come numeri interi (a 64 bit   precisione). In contesti di stringa, che   agire come stringhe binarie, dove ogni   coppia di cifre esadecimali viene convertito in un   carattere:

Probabilmente dovrebbe memorizzare il numero esadecimale in una colonna integer. È quindi possibile riconvertire esadecimale quando si seleziona utilizzando il HEX() funzione.

per es.,

INSERT INTO MyTable (`MyIntegerColumn`) VALUES (0xeb8d4ee6);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top