`

Oracle中的Raw类型学习

阅读更多

RAW,类似于CHAR,声明方式RAW(L),L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767字节。
LONG RAW,类似于LONG,作为数据库列最大存储2G字节的数据,作为变量最大32760字节
建表操作:
create table raw_test (id number, raw_date raw(10));
插入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 { ub2 len; char arr[n] }
VARRAW的ORACLE内部定义是: struct { ub2 len; unsigned char arr[n] }

分享到:
评论

相关推荐

    学习Oracle实用教程04章Oracle数据类型和函数.pdf

    在学习Oracle时,理解并掌握数据类型和函数是至关重要的基础。本章主要探讨Oracle中的数据类型,包括概述、字符数据类型、数值数据类型、日期类型以及其他特殊类型。 4.1.1 数据类型的概述 数据类型是数据库中用于...

    oracle基本数据类型及用法

    在开始学习数据库时,理解Oracle的基本数据类型及其用法至关重要。以下是对Oracle数据类型的详细解释: 1. **字符型数据类型**: - **CHAR**: 用于存储固定长度的文本数据,如果输入的数据不足指定长度,Oracle会...

    oracle 的数据类型

    在Oracle 10g版本中,数据类型主要分为五类:character、number、date、LOB和RAW。 1. **Character数据类型**: - `CHAR()`:这是固定长度的字符串数据类型,数据会被填充到指定的长度,不足的部分用空格填充。...

    Oracle 10g 操作手册 Oracle数据类型精解

    通过学习Oracle 10g操作手册和PowerDesigner教程,不仅能够掌握数据库的基本操作,还能深入了解数据类型的应用,以及如何用PowerDesigner进行高效的数据库设计和管理。这将为你的数据库管理工作提供坚实的基础。

    Oracle基本数据类型.pdf

    5. LONG RAW & RAW类型 - LONG RAW:用于存储不定长度的二进制数据,最大可达2GB,但在最新版本中已被BLOB取代。 - RAW:固定长度的二进制数据类型,长度在1到2000字节之间。 6. ROWID & UROWID类型 - ROWID:一...

    韩顺平2011oracle学习笔记

    【Oracle的基础使用与基本命令】 ...以上只是Oracle学习笔记的一部分,实际学习中还包括索引、视图、存储过程、触发器、游标、事务控制等多个方面的内容,都需要深入理解和实践才能掌握Oracle数据库的精髓。

    Oracle数据类型详解

    在Oracle 10g这个版本中,数据类型是构建数据库结构的基础,它们定义了存储在表中的数据的格式和特性。理解Oracle数据类型对于数据库设计、开发和管理至关重要。以下是Oracle 10g中数据类型的详细讲解: 1. **数值...

    使用VMWare server在Oracle Enterprise Linux上安装Oracle RAC 10g(RAW磁盘管理方式)

    在本教程中,我们将深入探讨如何使用VMware Server在Oracle Enterprise Linux上...在虚拟环境中部署Oracle RAC虽然有其挑战,但通过合理的规划和设置,可以有效地模拟真实的生产环境,为学习和测试Oracle RAC提供便利。

    Oracle学习笔记(一天就可以学会,学不会你骂我)

    了解Oracle中的数据类型是至关重要的。常见的数据类型包括NUMBER(数字)、VARCHAR2(变长字符串)、DATE(日期)、RAW(原始二进制数据)等。正确选择数据类型可以有效节省存储空间,提高查询效率。 五、表的创建...

    学习Oracle数据库基本数据类型.pdf

    在Oracle中,数据类型是定义列或变量如何存储和处理数据的关键元素。以下是Oracle数据库中一些基本数据类型的详细说明: 1. **Char(n)**: Char是一种固定长度的字符串数据类型,长度范围为1到2000字节。即使实际...

    管理信息化ORACLE完美Oracle数据库知识学习文档总汇.pdf

    RAW类型用于存储二进制数据,类似于VARCHAR2,但只适用于非字符数据。 LOB(Large Object)类型用于存储大量数据,包括BLOB(Binary Large OBject)用于二进制数据,CLOB(Character Large OBject)用于文本数据,...

    Oracle基本知识学习

    Oracle提供了丰富的数据类型,如`CHAR`(固定长度字符串)、`VARCHAR2`(可变长度字符串)、`NUMBER`(数值)、`DATE`(日期)、`LONG`(大文本)、`RAW`(二进制数据)等。此外,还有Unicode支持的数据类型,如`...

    北大青鸟Oracle ppt2

    RAW和LONG RAW用于存储二进制数据,而LOB(大对象)数据类型如BLOB、CLOB和BFILE则用于存储大型非结构化数据。 Oracle中的ROWID是伪列,它是数据库中每个行的唯一地址,用于快速定位数据。ROWNUM也是伪列,它返回行...

    Oracle12c数据库基础教程Oracle12c数据库对象管理.pptx

    Oracle 12c 数据库基础教程是学习 Oracle 数据库的基础知识的必修课程。本节课主要介绍 Oracle 数据库中常用的对象管理方法,包括表管理、索引管理、视图管理、序列管理与约束管理。 配置管理数据库对象的用户 在 ...

    官方资料:Oracle 10g DBA 学习手册

    Oracle 10g DBA 学习手册是官方提供的详细指南,旨在帮助用户深入理解数据库管理员(DBA)在管理Oracle 10g数据库时所需的任务和技术。本手册特别注重补充"DBA两日速成(2 Day DBA)"手册中的内容,提供了更详尽的步骤...

    oracle数据库的学习

    2. **数据类型**:Oracle支持多种数据类型,如Char、Varchar2(变长字符)、Number(数值)、Long(长文本)、Date(日期)、Raw(原始二进制数据)、Long Raw(长原始数据)和Lob(大对象)等,用于存储不同类型的...

    Oracle 10g DBA 学习手册.doc

    ### Oracle 10g DBA 学习手册之安装与构建数据库 #### 一、概述 Oracle 10g(Generation 10)是Oracle公司发布的一款重要的数据库管理系统,其在第九代产品的基础上进行了大量的改进和增强。Oracle 10g DBA...

    Oracle数据库学习笔记

    Oracle还支持多种数据类型,如Character、Number、Date、Raw和Long Raw,以及LOB(Large Object)数据类型,以满足不同类型的数据库字段需求。 通过理解Oracle数据库的结构、组件、SQL命令和数据类型,开发者可以...

Global site tag (gtag.js) - Google Analytics