oracle原始数据类型,Oracle基本数据类型存储格式浅析——RAW类型
和其他數(shù)據(jù)類型相比,RAW類型的存儲(chǔ)顯得直觀多了,它和SELECT時(shí)數(shù)據(jù)展示的值完全一樣。(SELECT時(shí)是按照16進(jìn)制展示的)
SQL>?create?table?test_raw?(id?number,?raw_date?raw(10));
表已創(chuàng)建。
SQL>?insert?into?test_raw?values?(1,?hextoraw('ff'));
已創(chuàng)建?1?行。
SQL>?drop?table?test_raw;
表已丟棄。
SQL>?create?table?test_raw?(raw_col?raw(10));
表已創(chuàng)建。
SQL>?insert?into?test_raw?values?(hextoraw('ff'));
已創(chuàng)建?1?行。
SQL>?insert?into?test_raw?values?(hextoraw('0'));
已創(chuàng)建?1?行。
SQL>?insert?into?test_raw?values?(hextoraw('23fc'));
已創(chuàng)建?1?行。
SQL>?insert?into?test_raw?values?(hextoraw('fffffffffff'));
已創(chuàng)建?1?行。
SQL>?insert?into?test_raw?values?(hextoraw('ffffffffffffffffffff'));
已創(chuàng)建?1?行。
SQL>?insert?into?test_raw?values?(utl_raw.cast_to_raw('051'));
已創(chuàng)建?1?行。
SQL>?select?raw_col,?dump(raw_col,?16)?dump_raw?from?test_raw;
RAW_COL??????????????DUMP_RAW
--------------------?-----------------------------------------------
FF???????????????????Typ=23?Len=1:?ff
00???????????????????Typ=23?Len=1:?0
23FC?????????????????Typ=23?Len=2:?23,fc
0FFFFFFFFFFF?????????Typ=23?Len=6:?f,ff,ff,ff,ff,ff
FFFFFFFFFFFFFFFFFFFF?Typ=23?Len=10:?ff,ff,ff,ff,ff,ff,ff,ff,ff,ff
303531???????????????Typ=23?Len=3:?30,35,31
已選擇6行。
RAW類型的存儲(chǔ)很簡(jiǎn)單,對(duì)比字段的查詢結(jié)果和DUMP的結(jié)果就一目了然了。
需要注意的是,兩種轉(zhuǎn)化為RAW的函數(shù)之間的差別。當(dāng)使用HEXTORAW時(shí),會(huì)把字符串中數(shù)據(jù)當(dāng)作16進(jìn)制數(shù)。而使用UTL_RAW.CAST_TO_RAW時(shí),直接把字符串中每個(gè)字符的ASCII碼存放到RAW類型的字段中。
SQL>?insert?into?test_raw?values?('gg');
insert?into?test_raw?values?('gg')
*
ERROR?位于第?1?行:
ORA-01465:?無(wú)效的十六進(jìn)制數(shù)字
SQL>?insert?into?test_raw?values?(hextoraw('gg'));
insert?into?test_raw?values?(hextoraw('gg'))
*
ERROR?位于第?1?行:
ORA-01465:?無(wú)效的十六進(jìn)制數(shù)字
SQL>?insert?into?test_raw?values?(utl_raw.cast_to_raw('gg'));
已創(chuàng)建?1?行。
SQL>?select?raw_col,?dump(raw_col,?16)?dump_raw?from?test_raw;
RAW_COL??????????????DUMP_RAW
--------------------?----------------------------------------------
FF???????????????????Typ=23?Len=1:?ff
00???????????????????Typ=23?Len=1:?0
23FC?????????????????Typ=23?Len=2:?23,fc
6767?????????????????Typ=23?Len=2:?67,67
0FFFFFFFFFFF?????????Typ=23?Len=6:?f,ff,ff,ff,ff,ff
FFFFFFFFFFFFFFFFFFFF?Typ=23?Len=10:?ff,ff,ff,ff,ff,ff,ff,ff,ff,ff
303531???????????????Typ=23?Len=3:?30,35,31
已選擇7行。
總結(jié)
以上是生活随笔為你收集整理的oracle原始数据类型,Oracle基本数据类型存储格式浅析——RAW类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: hive相对于oracle的优点,【Hi
- 下一篇: oracle 12c创建归档,实测创建