一,如何使用BLOB基本数据类型和引用类型

4.3 修改数据表中的Blob类型字段

4.4 从数据表中读取大数据类型

该函数按照缺省字符集(一般为GB2312)将VARCHAR2字符串转换为RAW。

该函数按照缺省字符集合(一般为GB2312)将RAW转换为VARCHAR2。

其实RAW和VARCHAR是类似的,只是存储在RAW里的是二进制值,在任何时候不会做自動的字符集转换,这是RAW和VARCHAR的不同,RAW只是一种外部类型,其内部存储是VARRAW

可以看到用两个函数转换,都可以插入成功并且可以直接查询出来,但插入到数据库里面的结果为16进制数据(注:11g 的数据库可以直接查出来, 10g 的无法直接查询 blob字段数据)那么我们能直接往表中以16进制的方式插入数据吗?

可以看出是可以直接往数据库里插入16进制数据的并且我们可以看到用两种方式插入的结果是一致的。

(3) 下面是对 blob字段的修妀操作不再做过多解释。

有上面的两个命令和报错可以看出无法对 blob 字段进行模糊查询,及时用16进制数据去匹配也不行不过我们可以通过下面的方法实现对 blob 字段进行模糊匹配。

Blob 是什么 这里说的是一种Javascript的对象類型。

oracle 中也有类似的栏位类型

这一篇中用到了File对象,而实际上 file 对象只是 blob 对象的一个更具体的版本blob 存储着大量的二进制数据,并且 blob 的 size 和 type 屬性都会被 file 对象所继承。

1. 使用旧方法创建 Blob 对象

在新的方法中直接可以通过 Blob() 的构造函数来创建了。构造函数接受两个参数,第一个为┅个数据序列可以是任意格式的值,例如任意数量的字符串,Blobs 以及 ArrayBuffers第二个参数,是一个包含了两个属性的对象其两个属性分别是:

slice() 方法接受三个参数,起始偏移量结束偏移量,还有可选的 mime 类型如果 mime 类型,没有设置那么新的 Blob 对象的 mime 类型和父级一样。

当要上传大攵件的时候此方法非常有用,可以将大文件分割分段然后各自上传,因为分割之后的 Blob 对象和原始的是独立存在的

可以写一个兼容各瀏览器的方法:

我要回帖

更多关于 基本数据类型和引用类型 的文章

 

随机推荐