`
seawavenews
  • 浏览: 231617 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

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行。


出自:http://blog.itpub.net/post/468/11490
分享到:
评论

相关推荐

    Oracle基本数据类型存储格式浅析

    《Oracle基本数据类型存储格式详解》 Oracle数据库中,数据类型的存储格式对于数据库的性能和空间利用率至关重要。本文将深入探讨Oracle的字符类型、数字类型、日期类型、ROWID类型和RAW类型的基本数据类型的存储...

    oracle基本数据类型存储格式浅析.pdf

    ### Oracle基本数据类型存储格式浅析 —— 字符类型 #### 概述 在Oracle数据库中,字符类型是非常常见的数据类型之一,它主要用于存储文本信息。本文将详细探讨Oracle数据库中几种基本字符类型的存储格式,包括`...

    oracle基本数据类型

    Oracle 基本数据类型 Oracle 中有多种基本数据类型,包括字符类型、数字类型、日期类型、二进制类型等。了解这些数据类型的特点和使用场景,对于数据库设计和开发至关重要。本文将详细介绍 Oracle 中的基本数据类型...

    oracle的数据类型及存储方式 文档

    Oracle 数据类型是数据库管理系统Oracle中用于定义和存储各种数据类型的规则和格式。这些数据类型决定了字段可以存储的数据种类,以及如何存储和处理这些数据。在Oracle中,数据类型分为多种,包括字符类型、数值...

    oracle新手入门指导之四——ORACLE数据类型 .txt

    ### Oracle新手入门指导之四——ORACLE数据类型 在Oracle数据库中,数据类型的选择对于确保数据的正确存储、处理效率以及资源的有效利用至关重要。本文将详细介绍Oracle中的各种数据类型及其特性,帮助初学者更好地...

    Oracle 中表数据的存储原理浅析

    ### Oracle中表数据的存储原理浅析 #### 1. 引言 在Oracle数据库中,当用户创建一个表时,Oracle会自动在相应的表空间内为此表分配数据段以容纳其数据。用户可以通过多种方式控制数据段的空间分配与使用: - 通过...

    Oracle基本数据类型

    以下是关于Oracle基本数据类型的详细说明: 1. **Char(n)**:这是一个定长字符串数据类型,长度可设置为1到2000字节。无论实际存储的数据是否占满指定长度,Oracle都会分配足够的空间。如果未指定长度,默认为1个...

    Oracle与.Net 数据类型映射

    了解Oracle数据库与.NET数据类型的映射关系对于开发人员来说至关重要,这直接影响到数据的正确存储、检索和处理。以下是对"Oracle与.Net 数据类型映射"这一主题的详细解释。 首先,Oracle数据库提供了一系列的数据...

    Oracle基本数据类型.pdf

    ### Oracle基本数据类型详解 #### 一、概述 Oracle 数据库提供了多种数据类型来满足不同的需求,这些数据类型包括字符型、数值型、日期时间型、大对象类型等。了解这些基本数据类型对于正确设计数据库表结构至关...

    oracle基本数据类型及用法

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

    Oracle与DB2数据类型分类对应说明

    Oracle 和 DB2 是两个广泛应用的关系数据库管理系统,它们都具有丰富的数据类型,用于存储和管理各种类型的数据。然而,在实际应用中,我们经常需要在 Oracle 和 DB2 之间进行数据类型的转换和对应,这就需要我们对 ...

    oracle数据类型及存储方式.doc

    它不进行任何字符转换,以字节序列的形式存储数据。 ### 第二部分:数值类型 #### §2.1 NUMBER `NUMBER`是最通用的数值类型,可以存储整数和浮点数,支持大范围和高精度。`NUMBER(p,s)`中,`p`是总位数(包括...

    oracle和sql数据类型

    Oracle 和 SQL 数据类型是数据库管理系统中用于定义和存储数据的基础组件。它们决定了数据的结构、大小以及如何进行处理。以下是两种数据库系统中主要数据类型的详细比较: **Oracle 数据类型** 1. **Char**: Char...

    Oracle 数据类型及存储方式.pdf

    Oracle数据库在存储数据时,采用的是页(page)的方式,每个页默认大小为8KB,最小分配单位也是页。表空间(tablespace)是Oracle数据库中的逻辑存储单元,它由一个或多个数据文件组成,用于存放所有的数据对象。当表...

    Oracle各种数据类型的介绍,适合中高级编程开发人员

    ### Oracle 数据类型详解 在数据库管理系统(DBMS)中,数据类型是定义字段或变量能够存储何种类型数据的标准。Oracle数据库提供了丰富的数据类型,适用于不同的应用场景。本文将详细介绍Oracle中的几种常见数据...

    sql server 和oracle 中数据类型的区别

    例如,`binary(50)`表示存储50个字节的二进制数据,在Oracle中对应的类型为`RAW(50)`。 3. **bit**: 用于存储布尔值或单个位的信息,在SQL Server中占1个字节,而Oracle中的对应类型为`NUMBER(2)`。 4. **char**: ...

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

    Oracle 数据库中有多种基本数据类型,包括 char、varchar2、number、date、long、raw、long raw、blob、clob、nclob、bfile 等。这些数据类型是我们在设计数据库时最基本的组成部分,了解每种数据类型的特点和使用...

    java、mysql以及oracle数据类型对照表

    MySQL和Oracle的数据类型则针对存储和操作数据库中的各种数据类型进行了优化。 MySQL的数据类型包括数值类型(如INT、DECIMAL)、字符串类型(如VARCHAR、TEXT)、日期和时间类型(如DATE、TIMESTAMP)以及二进制...

    Oracle中索引的存储原理浅析.pdf

    "Oracle 中索引的存储原理浅析" Oracle数据库中的索引存储原理是指Oracle在创建索引时如何存储索引数据的机制。本文将从原理的角度简要介绍了Oracle中索引存储相关的参数以及索引存储的方法。 索引段是Oracle中用...

Global site tag (gtag.js) - Google Analytics