0 爲什麼SQLite十六進制()函數對十六進制(1)返回31。sqlite hex(1)返回31? 比如我做的: select hex(1) from mytable; 我也得到31,但它不應該返回1? 謝謝, 卡洛斯。 來源 2013-09-21 QLands +1 ASCII'1'的代碼是49. Dec 49是十六進制31.這就是你所得到的。 –
1 因爲: 十六進制()函數解釋其作爲BLOB參數,並返回字符串 是 該斑點的內容的大寫十六進制渲染。 hex()函數將BLOB值轉換爲十六進制文本表示形式。參數數據被假定爲BLOB。 如果它不是BLOB,它將被轉換爲一個。返回的文本值將包含BLOB中每個字節的兩個十六進制字符。 來源 2013-09-21 09:43:51 aleroot +0 好的...有可能得到十六進制(1)= 1? – QLands +0 @QLands十六進制()函數將BLOB值轉換爲十六進制文本表示...因此它似乎不可能... – aleroot +1 額外的內部背景:sqlite將所有內容存儲爲文本。 – thammi
ASCII'1'的代碼是49. Dec 49是十六進制31.這就是你所得到的。 –