2 iexin607608 iexin607608 于 2014.11.26 10:42 提问

Oracle怎样将一个16进制字符串转化为有符号整数?

Oracle怎样将一个16进制字符串转化为有符号整数?
例如,将FF转化为-1.

2个回答

wildwave
wildwave   Ds   Rxr 2014.11.26 10:58

符号位是怎么定义的?

wildwave
wildwave 就是转成2进制,最高位为符号位?
3 年多之前 回复
iexin607608
iexin607608 就是c语言的有符号整数,最高位为符号,0为正1为负,正数用原码,负数用补码表示。
3 年多之前 回复
lzp_lrp
lzp_lrp   Ds   Rxr 2014.12.30 08:38

ORACLE十进制与十六进制的转换

十进制与十六进制的转换
8i以上版本:

十进制-->十六进制
select to_char(100,'XX') from dual;

十六进制-->十进制
select to_number('7D','XX') from dual;

今天有现场反应他们的资产不能预建档,发现其资产号为十六进制与其他现场不同,导致资产号不能批量生成。基于改动方便考虑,直接在数据库中先把数据转换为十进制,资产号累加后,在转回十六进制。如下:

trim(to_char(to_number(v_in_pix,'XXXXXXXXXX')+v_loopCounter,'XXXXXXXXXX'))

由于转换为十六进制后前面有空格,加上trim处理

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!