我使用 Java 创建了一个 SQL 数据库。我创建了一个表,其中有两列,第一列是一个递增的大整数,第二列我尝试将其定义为 char、varchar 和二进制。
但我仍然没有获得所需的功能。假设我尝试存储一个十六进制数字0a
进入 char 列,我收到错误。我附加了0x
到开头,它似乎存储了,但是当我打印出内容时,它是空白的。或者在某些情况下我会收到“/”或“?”等字符。我还尝试使用 SQL 资源管理器,它给我查看表的相同结果,
我的问题是我需要存储一个八个字符十六进制字符串例如eb8d4ee6
.
有人可以告诉我如何做到这一点吗?
See http://dev.mysql.com/doc/refman/5.5/en/hexadecimal-literals.html http://dev.mysql.com/doc/refman/5.5/en/hexadecimal-literals.html
MySQL支持十六进制值,
使用 X'val'、x'val' 或 0xval 编写
格式,其中 val 包含十六进制
数字(0..9、A..F)。信箱的
数字并不重要。对于价值观
使用 X'val' 或 x'val' 格式编写,
val 必须包含偶数个
数字。对于使用 0xval 写入的值
语法,包含奇数的值
位数被视为具有
额外的前导 0。例如,0x0a
和 0xaaa 被解释为 0x0a 和
0x0aaa。
在数字上下文中,十六进制
值的行为类似于整数(64 位
精确)。在字符串上下文中,它们
就像二进制字符串一样,其中每个
一对十六进制数字转换为
特点:
您可能应该将十六进制数字存储在整数列中。然后,您可以在选择时转换回十六进制HEX() http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_hex功能。
E.g.,
INSERT INTO MyTable (`MyIntegerColumn`) VALUES (0xeb8d4ee6);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)