在 MySQL 中插入十六进制值
我使用 Java 创建了一个 SQL 数据库。我创建了一个表,其中有两列,第一列是一个递增的大整数,第二列我尝试将其定义为 char、varchar 和二进制。
但我仍然没有获得所需的功能。假设我尝试将十六进制数字 0a
存储到 char 列中,但出现错误。我在开头附加了 0x
,它似乎存储了,但是当我打印出内容时,它是空白的。或者在某些情况下我会收到“/”或“?”等字符。我还尝试使用 SQL 资源管理器,它在查看表时给出了相同的结果,
我的问题是我需要存储一个八个字符的十六进制字符串,例如eb8d4ee6
。
有人可以告诉我如何做到这一点吗?
I have created an SQL database using Java. I have a table created which has two columns, the first being a big integer which increments, the second I have tried defining it as a char, varchar and binary.
But I'm still not getting the desired functionality. Say I try and store a hex number 0a
into the char column and I get an error. I appended 0x
to the beginning and it seems to store, but when I print out the contents it is blank. Or in some cases I get characters such as '/' or '?'. I also tried using SQL explorer and it gives me the same result viewing the table,
My problem is I need to store an eight character hex string such as eb8d4ee6
.
Could someone please advise me of how this can be done?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请参阅http://dev.mysql.com/doc/refman/ 5.5/en/hexadecimal-literals.html
您可能应该将十六进制数字存储在整数列中。然后,您可以在使用
HEX()
函数。例如,
See http://dev.mysql.com/doc/refman/5.5/en/hexadecimal-literals.html
You probably should store the Hex number in an integer column. You can then convert back to hex when selecting using the
HEX()
function.E.g.,
您可以使用 Json 列:
并使用
JSON.stringify(hex)
插入,您也可以通过选择和比较获得结果You can use a Json column:
And use
JSON.stringify(hex)
to insert and you can always get the result via select and compare too