2010-11-29 74 views
4

我已經創建了一個使用Java的sql數據庫,我是一個noob當談到sql但 有它配置和設置,我有一個表創建,其中有兩列,第一個是 一個大整數增量,第二我已經嘗試將其定義爲一個字符,varchar和二進制,但即時通訊仍然沒有得到所需的功能,比如我嘗試和存儲0a十六進制數到 字符列我得到一個錯誤,我附加0x到它似乎存儲的開始,但是當我打印出它的內容是空白的,或者在某些情況下,我得到的字符如'/'或'?',我也嘗試使用sql explorer,它給了我相同的結果,查看錶,插入十六進制值mysql

我的問題是我需要存儲一個八字符r十六進制字符串,例如eb8d4ee6。

難道有人請告訴我如何做到這一點?

回答

2

參見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()功能進行選擇時,您可以轉換回十六進制。

例如,

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

嗨感謝快速回復我看了這篇文章,正如我所說的即時通訊一個SQL菜鳥,但我試圖追加0X將其定義爲十六進制但觀察表時的價值,不是嗎? – user524156 2010-11-29 17:23:41