三種不同的功能。根據相同的數據類型返回到轉儲() 預言 - 到RAW添加RAW(或BINARY到BINARY)
select
dump(utl_raw.cast_to_raw('j')),
dump(utl_raw.cast_from_number(1)),
dump(utl_raw.cast_from_binary_integer(1))
from dual;
DUMP(UTL_RAW.CAST_TO_RAW('J'))
-----------------------------------------------------
DUMP(UTL_RAW.CAST_FROM_NUMBER(1))
-----------------------------------------------------
DUMP(UTL_RAW.CAST_FROM_BINARY_INTEGER(1))
-----------------------------------------------------
Typ=23 Len=1: 106
Typ=23 Len=2: 193,2
Typ=23 Len=4: 0,0,0,1
...然而它們中的非可相加在一起。
select
utl_raw.cast_to_raw('j') +
utl_raw.cast_from_number(1),
utl_raw.cast_from_number(1) +
utl_raw.cast_from_binary_integer(1),
utl_raw.cast_from_binary_integer(1) +
utl_raw.cast_to_raw('j')
from dual;
ORA-00932: inconsistent datatypes: expected NUMBER got BINARY
如何在RAW上執行算術運算,特別是 - 將RAW/BINARY添加到RAW/BINARY?
編輯:此問題源於需要遍歷字母表。我發現如何將1加入ascii代碼,然後以更大的字母返回,這並不那麼明顯,例如。 'a'+ 1 ='b'
你會期望將多個'RAW'值加在一起的結果是什麼?如果你有一個結果,你會怎麼做? – 2014-11-04 21:10:33
在回答你的問題時,我編輯了我的問題 – 2014-11-04 21:15:07