/ / Insertando un valor hexadecimal mysql - mysql, almacenamiento de datos

Insertando valor hexadecimal mysql - mysql, almacenamiento de datos

He creado una base de datos sql usando Java, soy unNoob cuando se trata de SQL, pero tenerlo configurado y configurado, tengo una tabla creada que tiene dos columnas, la primera es un entero grande que se incrementa, el segundo lo he intentado definiendo como un char, varchar y binario pero todavía no obtengo la función deseada, digamos que intento almacenar un número hexadecimal en 0a La columna de caracteres recibo un error, agregué 0x al principio que parece almacenar, pero cuando imprimo el contenido está en blanco o en algunos casos obtengo caracteres como "/" o "?", también intenté usando sql explorer y me da el mismo resultado al ver la tabla,

Mi problema es que necesito almacenar una cadena hexadecimal de ocho caracteres como eb8d4ee6.

¿Alguien podría por favor decirme cómo se puede hacer esto?

Respuestas

4 para la respuesta № 1

Aquí hay una excelente publicación de blog a la que siempre me refiero para recordar el manejo adecuado de los valores hexadecimales y los campos binarios, y establece algunas implicaciones de rendimiento.

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


2 para la respuesta № 2

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

MySQL soporta valores hexadecimales, escrito usandoX "val", x "val", o 0xval formato, donde val contiene hexadecimal dígitos (0..9, A..F). Lettercase of the los dígitos no importan Para valores escrito usando el formato X "val" o x "val", val debe contener un número par de dígitos Para valores escritos utilizando 0xval sintaxis, valores que contienen un impar número de dígitos se tratan como tener una ventaja adicional de 0. Por ejemplo, 0x0a y 0xaaa se interpretan como 0x0a y 0x0aaa.

En contextos numéricos, hexadecimales. los valores actúan como enteros (64 bits) precisión). En contextos de cuerdas, actuar como cadenas binarias, donde cada una par de dígitos hexadecimales se convierte en una personaje:

Probablemente debería almacenar el número Hex en una columna entera. A continuación, puede volver a convertir al hex al seleccionar utilizando HEX() función.

P.ej.,

INSERT INTO MyTable (`MyIntegerColumn`) VALUES (0xeb8d4ee6);