Mat*_*ell 22 database oracle hex
如何使用Oracle SQL将十六进制转换为十进制(然后再返回)?
Pet*_*ros 36
如果您使用的是8.1.5及以上版本,则可以使用:
要从十六进制转换为十进制:
select to_number('AA', 'xx') from dual;
Run Code Online (Sandbox Code Playgroud)
要从十进制转换为十六进制:
select to_char(111, 'xxxx') from dual;
Run Code Online (Sandbox Code Playgroud)
Qua*_*noi 11
SELECT TO_NUMBER('DEADBEEF', 'XXXXXXXX')
FROM dual
---
3735928559
SELECT TO_CHAR(3735928559, 'XXXXXXXX')
FROM dual
---
DEADBEEF
Run Code Online (Sandbox Code Playgroud)
从Oracle8i开始,TO_CHAR和TO_NUMBER函数可以处理从基数10(十进制)到基数16(十六进制)的转换,然后再返回:
SQL> select to_char(123,'XX') to_hex,
2 to_number('7B','XX') from_hex
3 from dual
4 /
TO_ FROM_HEX
------ -----------------
7B 123
Run Code Online (Sandbox Code Playgroud)