Inserción valor hexadecimal MySQL
-
29-09-2019 - |
Pregunta
He creado una base de datos SQL utilizando Java, soy un novato cuando se trata de SQL, pero lo han configurado e instalado, tengo una tabla creada que tiene dos columnas, la primera fue un gran número entero que incrementos, la segunda he intentado definirlo como un char, varchar y binarios, pero im todavía no conseguir la función deseada, por ejemplo trato y almacenar 0a un número hexadecimal en la columna de carbón consigo un error, i anexa 0x al comenzar un parece a la tienda, pero cuando i imprimir el contenido que está en blanco o en algunos casos, los caracteres tales como '/' o '?', también probé utilizar el explorador de SQL y me da el mismo resultado la visualización de la tabla,
Mi problema es que necesito para almacenar una cadena hexadecimal de ocho caracteres como eb8d4ee6.
Podría alguien aconsejarme de cómo esto se puede hacer?
Solución
Aquí está una gran entrada en el blog me refiero siempre a recordarme a mí mismo de la correcta manipulación de los valores hexadecimales y campos binarios, y expone algunas consecuencias en el rendimiento.
http://www.xaprb.com/blog/2009/02/12/5-ways-to-make-hexadecimal-identifiers-perform-better-on-mysql/
Otros consejos
http://dev.mysql.com/doc /refman/5.5/en/hexadecimal-literals.html
MySQL soporta valores hexadecimales, escrito usando X'val 'x'val', o 0xval formato, donde val contiene hexadecimal dígitos (0..9, A..F). Minúsculas y mayúsculas de la cifras no importa. para valores escrito usando X'val 'o x'val' formato, val debe contener un número par de dígitos. Para valores escrita usando 0xval sintaxis, los valores que contienen un extraño número de dígitos se tratan como tiene un extra que lleva 0. Por ejemplo, 0x0a y 0xaaa se interpretan como 0x0a y 0x0aaa.
En contextos numéricos, hexadecimal valores actúan como números enteros (64 bits precisión). En contextos de cuerda, que actuar como cadenas binarias, donde cada par de dígitos hexadecimales se convierte en una personaje:
Probablemente debería almacenar el número hexadecimal en una columna entera. A continuación, puede convertir de nuevo a la hora de seleccionar hexagonal utilizando el HEX()
función.
por ejemplo.,
INSERT INTO MyTable (`MyIntegerColumn`) VALUES (0xeb8d4ee6);