oracle原始数据类型,Oracle基本数据类型存储格式浅析——RAW类型
和其他數據類型相比,RAW類型的存儲顯得直觀多了,它和SELECT時數據展示的值完全一樣。(SELECT時是按照16進制展示的)
SQL>?create?table?test_raw?(id?number,?raw_date?raw(10));
表已創建。
SQL>?insert?into?test_raw?values?(1,?hextoraw('ff'));
已創建?1?行。
SQL>?drop?table?test_raw;
表已丟棄。
SQL>?create?table?test_raw?(raw_col?raw(10));
表已創建。
SQL>?insert?into?test_raw?values?(hextoraw('ff'));
已創建?1?行。
SQL>?insert?into?test_raw?values?(hextoraw('0'));
已創建?1?行。
SQL>?insert?into?test_raw?values?(hextoraw('23fc'));
已創建?1?行。
SQL>?insert?into?test_raw?values?(hextoraw('fffffffffff'));
已創建?1?行。
SQL>?insert?into?test_raw?values?(hextoraw('ffffffffffffffffffff'));
已創建?1?行。
SQL>?insert?into?test_raw?values?(utl_raw.cast_to_raw('051'));
已創建?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類型的存儲很簡單,對比字段的查詢結果和DUMP的結果就一目了然了。
需要注意的是,兩種轉化為RAW的函數之間的差別。當使用HEXTORAW時,會把字符串中數據當作16進制數。而使用UTL_RAW.CAST_TO_RAW時,直接把字符串中每個字符的ASCII碼存放到RAW類型的字段中。
SQL>?insert?into?test_raw?values?('gg');
insert?into?test_raw?values?('gg')
*
ERROR?位于第?1?行:
ORA-01465:?無效的十六進制數字
SQL>?insert?into?test_raw?values?(hextoraw('gg'));
insert?into?test_raw?values?(hextoraw('gg'))
*
ERROR?位于第?1?行:
ORA-01465:?無效的十六進制數字
SQL>?insert?into?test_raw?values?(utl_raw.cast_to_raw('gg'));
已創建?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行。
總結
以上是生活随笔為你收集整理的oracle原始数据类型,Oracle基本数据类型存储格式浅析——RAW类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hive相对于oracle的优点,【Hi
- 下一篇: oracle测试表什么名字,Oracle