Oracle二进制类型和大对象类型基础
来源:互联网 发布:网络本科学位证有用吗 编辑:程序博客网 时间:2024/06/09 19:06
窗体顶端
窗体底端
Oracle二进制类型和大对象类型基础
2013-08-0813:35:47 我来说两句 作者:媛媛小译
收藏 我要投稿
Oracle二进制类型和大对象类型基础
一、类型区分
NCLOB 存储单字节的字符数据
CLOB 存储多字节的字符数据
BFILE 存储OS文件系统中的二进制文件的指针,文件不存储在数据库里。
BLOB 存储二进制数据
RAW 存储定长二进制数据,需要定义长度,如:
?
1
create table t(s raw(2000);
LONG RAW 存储可变长二进制数据
二、类型在数据库中的使用
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
NCLOB
create table t(id int,cont NCLOB);
Insert into t(id,cont) values(1,’hello’);
select * from t;
ID CONT
-------------------------
1 hello
CLOB 同NCLOB。
BLOB 暂未找到能直接插入的值的方法。
BFILE
Conn lyy/lyy
Create table bfiletable(id int,obj BFILE);
Create or replace directory dir AS ‘d:\’;
Conn / as sysdba
Grant read directpry dir to lyy;
Conn lyy/lyy Insert into bfiletable(id,obj) values(1,filename(‘DIR’,’1.jpg’));
Select * from filetable;
ID OBJ
-------------------------------------------------
1 filename(‘DIR’,’1.JPG’)
RAW
Create table rawtable(id int,obj raw(2000));
Insert into rawtable(id,obj) values(1, uti_raw.cast_to_raw(‘hello’));
Select * from rawtable;
ID OBJ
-------------------------------------------------
1 68656C6C6F
LONG RAW
Create table lrawtable(id int,obj long raw);
Insert into lrawtable(id,obj) values(1, uti_raw.cast_to_raw(‘hello’));
Select * from lrawtable;
ID OBJ
-------------------------------------------------
1 6
SQL> desc utl_raw
FUNCTION CAST_TO_NVARCHAR2 RETURNS NVARCHAR2
参数名称 类型 输入/输出默认值?
------------------------------ ----------------------- ------ --------
R RAW IN
FUNCTION CAST_TO_RAW RETURNS RAW
参数名称 类型 输入/输出默认值?
------------------------------ ----------------------- ------ --------
C VARCHAR2 IN
CAST_TO_VARCHAR2 Function:
Converts a RAW represented using n data bytes into VARCHAR2 with n data bytes
CAST_TO_RAW Function
Converts a VARCHAR2 represented using n data bytes into a RAW with n data bytes
SQL> col name for a40;
SQL> select utl_raw.cast_to_raw('甲骨文') name fromdual;
NAME
----------------------------------------
E794B2E9AAA8E69687
SQL> select utl_raw.cast_to_varchar2('E794B2E9AAA8E69687') name from dual;
NAME
----------------------------------------
甲骨文
SQL> select dump('甲骨文' ,16) namefrom dual;
NAME
----------------------------------------
Typ=96 Len=9: e7,94,b2,e9,aa,a8,e6,96,87
下面是常用到了两个函数:
utl_raw.cast_to_raw([varchar2]);--将varchar2转换为raw类型
utl_raw.cast_to_varchar2([raw]);--将raw转换为varchar2类型(是将raw数据类型的数据而不是其他数据类型的数据转换为varchar2类型?)
- Oracle二进制类型和大对象类型基础
- Oracle二进制类型和大对象类型基础
- JDBC对Oracle读写BLOB类型,大对象数据,二进制数据的一些心得
- JavaScript文件操作(5)-Blob类型(二进制大对象)
- C++基础之:对象的静态类型和动态类型
- C#基础(二)对象和类型
- c#基础 之对象和类型
- 由浅入深JavaScript4基础-引用类型和对象
- 大对象blob类型的拷贝——分析和记录oracle触发器
- 149.Oracle数据库SQL开发之 大对象——理解LONG和LONG RAW类型
- Oracle对象类型详解
- oracle简单对象类型
- oracle简单对象类型
- Oracle对象类型详解
- oracle对象类型
- Oracle的对象类型
- oracle对大对象类型操作:blob,clob,nclob,bfile
- oracle对大对象类型操作:blob,clob,nclob,bfile
- 用户日志的收集传输存储架构设计讨论
- 实现类A可以在父类B或子类C中实现接口D的方法
- uva 10755(dp)
- leetcode_83_Remove Duplicates from Sorted List
- FrontEnd 步步高升: Echart 使用简单介绍,快速上手~
- Oracle二进制类型和大对象类型基础
- spring的RestTemplate
- 经理必备工具
- android中wifi原理及流程分析
- js中json对象的创建和调用
- 真机测试
- CEPH支持浏览器直接下载时-中文乱码问题解决
- drawable导入图片导致R.java文件消失的解决过程
- Fiddler的功能学习笔记