簡體   English   中英

在MySQL中取消十六進制值或列

[英]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..9A..F) 數字的字母大小寫無關緊要。 對於使用X' val 'x' val '格式寫入的值, val必須包含偶數個數字。 對於使用0x val語法編寫的值,包含奇數個數字的值將被視為具有額外的前導0 例如, 0x0a0xaaa解釋為0x0a0x0aaa

在數字上下文中,十六進制值的作用類似於整數(64位精度)。 在字符串上下文中,它們的作用類似於二進制字符串,其中每對十六進制數字都轉換為一個字符:

所以:

SELECT 0x1c | 0xf

sqlfiddle上看到它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM