[英]UnHex a value Or Column in MySQL
select hex(28) from dual; -- 1C
select unhex(1C) from dual; -- Error 1054 : Unknown Column '1C'
我應該在MySQL中使用什么來Unhex以達到十進制值28的結果?
我的最終目標是執行“或”操作,所以我嘗試:
select b'(binary(unhex(1C))' | b'(binary(unhex(F))' from dual; -- Error 1064
我如何獲得上述聲明?
如十六進制文字所示 :
MySQL支持使用
X' val '
,x' val '
或0x val
格式編寫的十六進制值,其中val
包含十六進制數字(0..9
,A..F)
。 數字的字母大小寫無關緊要。 對於使用X' val '
或x' val '
格式寫入的值,val
必須包含偶數個數字。 對於使用0x val
語法編寫的值,包含奇數個數字的值將被視為具有額外的前導0
。 例如,0x0a
和0xaaa
解釋為0x0a
和0x0aaa
。在數字上下文中,十六進制值的作用類似於整數(64位精度)。 在字符串上下文中,它們的作用類似於二進制字符串,其中每對十六進制數字都轉換為一個字符:
所以:
SELECT 0x1c | 0xf
在sqlfiddle上看到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.