Oracle raw 資料型別

2021-05-22 16:06:34 字數 1044 閱讀 2830

raw,類似於char,宣告方式raw(l),l為長度,以位元組為單位,作為資料庫列最大2000,作為變數最大32767位元組。

long raw,類似於long,作為資料庫列最大儲存2g位元組的資料,作為變數最大32760位元組

插入raw資料操作:

insert into raw_test values (1, hextoraw('ff'));

insert into raw_test values (utl_raw.cast_to_raw('051'));

刪除表操作:

drop table raw_test;

當使用hextoraw時,會把字串中資料當作16進製制數。而使用utl_raw.cast_to_raw時,直接把字串中每個字元的ascii碼存放到raw型別的字段中.

可以使用dump函式,查詢儲存情況:

select id,raw_date, dump(raw_date, 16) dump_raw from raw_test;

oracle中raw和varchar2常用的兩個轉換函式

1. utl_raw.cast_to_raw

該函式按照預設字符集(一般為gb2312),將varchar2字串轉換為raw。

insert into cmpp_submit (dest_terminal_id,msg_content) values('13001081371',utl_raw.cast_to_raw('您好!'));

2. utl_raw.cast_to_varchar2

該函式按照預設字元集合(一般為gb2312),將raw轉換為varchar2。

select utl_raw.cast_to_varchar2(msg_content) from cmpp_deliver;

其實raw和varchar是類似的,只是儲存在raw裡的是二進位制值,在任何時候不會做自動的字符集轉換,這是raw和varchar的不同,raw只是一種外部型別,其內部儲存是varraw

varchar的oracle內部定義是:struct

varraw的oracle內部定義是: struct

Oracle RAW型別解析

對oracle raw型別的詳細解剖 以下的文章主要是對oracle raw型別的詳細解釋,我們首先是從raw的概念講起的,其不論從那方面都類似於char,其宣告的方式為raw l 它以l為長度,以相關的位元組為單位,作為資料庫列最大2000,作為變數最大32767位元組。long raw,類似於l...

資料型別基礎資料型別

資料型別 基礎型別 除八大基礎型別其他的都是引用型資料型別 引用資料型別 基礎資料型別 整型 byte 佔乙個位元組,範圍 128 127 short 佔兩個位元組,範圍 32768 32767 int 最常用 佔四個位元組,範圍 2147483648 2147483647 long 佔八個位元組 ...

資料型別 基本資料型別和引用資料型別

一.分類 1,五種簡單資料型別 基本資料型別 number,string,boolean,null,undefined,新增symbol es6 基本資料型別是指存放在棧中的簡單資料段,資料大小確定,記憶體空間大小可以分配,它們是直接按值存放的,所以可以直接按值訪問。1 undefined 宣告的變...