Oracle基本数据类型存储格式浅析(五)——RAW类型

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情
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 raw数据类型 的字段 的值 使用 JDBC 对oracleraw数据类型进行操作(CRUD)时, 会发现获取到oracleraw类型 对应 java的byte[],据我所知 oracle raw数据类型保存的为16进制数。 获取oracle raw数据类型 的 字段 的值 有三种方式: 第一种: 使用orm框架: hibernate, 写一个映射类与数据表的相关字段进行映射,数据表的raw... 阅读详情

相关推荐

oracle数据库raw数据类型

Oracle 数据库中的 RAW 数据类型是一种用于存储原始二进制数据的数据类型。在 SQL 查询中,可以使用函数将 RAW 数据转换为可读的格式,例如使用 TO_CHAR 函数。2. 数据处理:由于 RAW 数据类型不会对数据进行任何解析或转换,因此在处理数据时需要自行解析和处理。3. 可读性:原始的 RAW 数据并不直观,因此在查询和展示数据时,可能需要将其转换为可读的格式,以提高可读性。1. 数据大小:由于 RAW 数据类型存储的是原始数据,因此需要确保数据大小不会超过指定的最大长度限制。

Auspicious航的博客 2573

Oracle 数据库RAW类型问题

1.oracleRAW类型 RAW(size):长度为size字节的原始二进制数据,size的最大值为2000字节;   RAW类型好处:在网络中的计算机之间传输 RAW 数据时,或者使用 Oracle 实用程序将 RAW 数据从一个数据库移到另一个数据库时,Oracle 服务器不执行字符集转换。   RAW 声明方式RAW(L),L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767字节。   LONG RAW 作为数据库列最大存储2G字节的数据,作为变量最大32760字节。     

weixin_45612363的博客 6845

KingSCADA实现按钮点击效果

哈喽,你好啊,我是雷工!在做SCADA项目的时候,按钮是不可缺少的功能,但软件自带的按钮太丑,已经无法满足现如今客户对界面美观度的要求。这时候就需要UI小姐姐设计美观大气的SCADA界面,但UI设计的按钮切图放到程序中只是图片素材,当添加了按钮功能时,虽然能实现按钮功能,但没有任何点击效果;当遇到有需要连锁条件才能点击的按钮时,操作员无法区分是有连锁点击了没反应,还是系统界面卡死了导致的没点击成功,这时候有点击效果就能很好的区分这种问题。本篇介绍一种实现按钮点击效果的方法,以下为操作过程。

做有价值的事,积累有价值的笔记! 2718

Oracle RAW类型数据存储

java如何存储oracle RAW类型字段

GDFHGFHGFH的博客 720

Oracle基本数据类型RAW类型

oracle中用于保存位串的数据类型RAW,LONG RAW(推荐使用BLOB)RAW,类似于CHAR,声明方式RAW(L),L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767字节。 LONG RAW,类似于LONG,作为数据库列最大存储2G字节的数据,作为变量最大32760字节 RAW类型的好处就是:在网络中的计算机之间传输 RAW 数据时,或者使用 Oracl

john2522的专栏 5万+

oracle 存储raw,Oracle基本数据类型存储格式浅析——RAW类型

和其他数据类型相比,RAW类型存储显得直观多了,它和SELECT时数据展示的值完全一样。(SELECT时是按照16进制展示的)SQL>createtabletest_raw(idnumber,raw_dateraw(10));表已创建。SQL>insertintotest_rawvalues(1,hextoraw('ff'));已创建1行。SQL>...

weixin_34471838的博客 1249

Oracle基本数据类型存储格式浅析(一)—(

Oracle基本数据类型存储格式浅析(一)——字符类型发表人:yangtingkun | 发表时间: 2004年十二月09日, 23:47前一阵看完文档,对oracle基本数据类型存储格式有了一些了解,最近有做了一些测试进行了验证。打算整理总结一下,这一篇主要说明字符类型存储格式。主要包括char、varchar2和long等几种类型。 SQL> create table test_char

baggio785的专栏 2657

oracle raw格式,Oracleraw数据类型

这个类型以前没碰到过,知道昨天有人问我,我才研究了一下。后来发现原来Oracle数据字典里面本身就有很多地方用到这个数据类型,如v$process的addr字段等。这是一个什么样的类型?看了下资料说是用于存储二进制格式的数据的,但是这样的存储有什么好处呢?google了好多下,有段说明感觉比较明白易懂:在网络中的计算机之间传输 RAW 数据时,或者使用 Oracle 实用程序将 RAW 数据从一个...

weixin_32667433的博客 1584

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

Oracle基本数据类型存储格式浅析(一)——字符类型 这一篇主要说明字符类型存储格式。主要包括char、varchar2和long等几种类型。   SQL> create table test_char (char_col char(10), varchar_colvarchar2(10), long_col long); 表已创建。 SQL> insert into tes

frost131314的专栏 1015

oracleraw是什么格式,oracleRAW数据类型

近日在研究v$latch视图时,发现一个从未见过的数据类型。v$latch 中ADDR属性的数据类型RAW(4|8) 同时也发现v$process中的ADDR属性的数据类型也为RAW(4|8)。于是查了一下oracleSQL Language Reference文档,文档如下描述:The RAW and LONG RAW data types store data that is nott...

weixin_36146057的博客 1311

oracle原始数据类型,Oracle基本数据类型存储格式浅析——RAW类型

和其他数据类型相比,RAW类型存储显得直观多了,它和SELECT时数据展示的值完全一样。(SELECT时是按照16进制展示的)SQL>createtabletest_raw(idnumber,raw_dateraw(10));表已创建。SQL>insertintotest_rawvalues(1,hextoraw('ff'));已创建1行。SQL>...

weixin_29331015的博客 348

oracle raw数据类型介绍

这个类型以前没碰到过,知道昨天有人问我,我才研究了一下。 后来发现原来Oracle数据字典里面本身就有很多地方用到这个数据类型,如v$process的addr字段等。 这是一个什么样的类型?看了下资料说是用于存储二进制格式的数据的,但是这样的存储有什么好处呢?google了好多下,有段说明感觉比较明白易懂: 在网络中的计算机之间传输 RAW 数据时,或者使用 Oracle 实用程序将 RAW

Aamir 的专栏 1738

mysql raw类型_Oracle raw数据类型介绍

在网络中的计算机之间传输 RAW 数据时,或者使用 Oracle 实用程序将 RAW 数据从一个数据库移到另一个数据库时,Oracle 服务器不执这个类型以前没碰到过,知道昨天有人问我,我才研究了一下。后来发现原来Oracle数据字典里面本身就有很多地方用到这个数据类型,如v$process的addr字段等。这是一个什么样的类型?看了下资料说是用于存储二进制格式的数据的,但是这样的存储有什么好处呢...

weixin_39920415的博客 767

Oracleraw数据类型

<br />Oracle Raw数据类型:<br />    Oracle数据字典里面本身就有很多地方用到这个数据类型,如v$process的addr字段等。<br />这是一个什么样的类型?看了下资料说是用于存储二进制格式的数据的,<br />以下是对Raw的解释:<br />      在网络中的计算机之间传输 RAW 数据时,或者使用 Oracle 实用程序将 RAW 数据从一个数据库移到另一个数据库时,Oracle 服务器不执行字符集转换。存储实际列值所需要的字节数大小随每行大小而异,最多为 2,0

专注Oracle EBS---低调的奢华 1740

oracleraw,oracleRAW数据类型

近日在研究v$latch视图时,发现一个从未见过的数据类型。v$latch 中ADDR属性的数据类型RAW(4|8) 同时也发现v$process中的ADDR属性的数据类型也为RAW(4|8)。于是查了一下oracleSQL Language Reference文档,文档如下描述:The RAW and LONG RAW data types store data that is nott...

weixin_29887801的博客 704

ORACLE】各种数据类型

当你在数据库中创建数据表的时候,你需要定义表中所有字段的类型ORACLE有许多种数据类型以满足你的需要。数据类型大约分为:character, number, date, LOB, 和RAW类型。虽然ORACLE8i也允许你自定义数据类型,但是它们是最基本数据类型。在下面的文章中你将了解到他们在oracle 中的用法、限制以及允许值。      Character 数据类型   Character 数据类型用来存储字母数字型数据。当你在oracle 中定义一个character 数据时,通常需要制定字

欢迎指错||纠正||建议||水评+点赞&&评论&&关注&&转发 4215
上一篇: oracle中用于两个十进制整数逻辑与的运算符是什么?
下一篇: ORACLE 与SQL SERVER SQL语言比较[三]
aiwtu
博客等级 码龄20年 11粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值