```
SELECT * FROM oraclelangraw
```
这将检索表中的所有行,并返回所有列的数据。您也可以使用WHERE子句来过滤数据,例如:
```
SELECT * FROM oraclelangraw WHERE id = 1
```
这将只返回具有id = 1的行的数据。您需要确保您有访问该表的权限,并且已经正确连接到数据库。
为什么要查询oraclelangraw数据,这取决于您的需求和目的。查询数据通常是从数据库中检索和分析信息的必要步骤。例如,您可能需要检索特定日期范围内的销售数据,或者查找具有特定属性的产品。
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 lenchar arr[n] }
VARRAW的ORACLE内部定义是: struct { ub2 lenunsigned char arr[n] }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)