KingbaseES兼容了oracle的blob数据类型。通常是用来保存二进制形式的大数据,也可以用来保存其他类型的数据。

下面来验证一下各种数据存储在数据库中形式。

建表

create table t1 (id number, file blob);

插入数据

insert into t1 values (1,''',\\as123哈哈');

insert into t1 values (2,blob_import('/home/kbc5/ksql.log'));

insert into t1 values (3,blob_import('/home/kbc5/tp.gif'));

查看数据

可以看出英文,数字,符号未做转换直接存入数据库中,中文,文件,图片转换为不可读内容存放在数据库中。

那是否有方法可以读取原本可读的数据内容呢?

可以通过

1.convert_from 函数将数据翻译为可读内容(图片除外)。

2.blob_export 函数将blob的内容导出到本地进行读取。

test=# select convert_from(file,'utf8') from t1 ;

错误: 无效的 "UTF8" 编码字节顺序: 0xff

test=# select id, convert_from(file,'utf8') from t1 where id <> 3;

id | convert_from

----+----------------------------------------

1 | ',\as123哈哈

2 | 错误: 语法错误 在 "5" 或附近的 +

| 第1行insert into t2values (5,'xarte');+

| ^ +

|

(2 行记录)

上面的结果可以看出图片无法被转换,而文本文件则会将具体内容转义出来。

test=# select blob_export(file,'/home/kbc5/dc1.gif') from t1 where id = 3;

blob_export


        1

(1 行记录)

函数执行结果1表示成功。进入目录查看文件:

()

可以看到2个文件一样大。

test=# select blob_export(file,'/home/kbc5/dc2.txt') from t1 where id <> 3;

blob_export


          1
1

(2 行记录)



进入目录看到只有一个dc2.txt文件,说明后面一行导出的文件会将前一行导出的文件覆盖。

所以使用该函数进行操作时1个blob段需要指定一个对应的文件。

最新文章

  1. 网页引用本地电脑的字体 css设置浏览器会不显示的解决办法
  2. iOS-开启arc之后 NSNotificationCenter removeObserver 是否需要调用
  3. 总结列表显示ListView知识点
  4. 2016年11月19日 星期六 --出埃及记 Exodus 20:10
  5. MySql运算符
  6. AWK中几个变量
  7. 如何在macox下面配置集成ios和android游戏教程
  8. 多项目中SVN权限管理精辟解析
  9. Redis能干啥?细看11种Web应用场景
  10. [模板] 无旋Treap (C++ class)
  11. Sharding-jdbc视频:当Sharding-jdbc遇到Spring Boot
  12. 【父元素parent】【子元素children】【同胞siblings】【过滤】
  13. 详解centos7配置本地yum源的方法
  14. spark 关联source
  15. bower 和 npm 的区别详细介绍
  16. gitlab配合walle搭建发布系统
  17. Android NDK开发Crash错误定位
  18. unordered_map 遇到 vector subscript out of range 的错误提示
  19. Go语言 7 并发编程
  20. object类型转换为Array类型

热门文章

  1. DBPack 赋能 python 微服务协调分布式事务
  2. 基于bat脚本的前端发布流程的优化
  3. Python教程——常用的os操作详情
  4. 微服务追踪SQL(支持Isto管控下的gorm查询追踪)
  5. 【UR #2】猪猪侠再战括号序列 题解
  6. mt19937 用法
  7. 手写一个模拟的ReentrantLock
  8. Lambda表达式的无参数无返回值的练习和Lambda表达式有参数有返回值的练习
  9. &#128104;‍&#128187;Mybatis源码我搞透了,面试来问吧!写了134个源码类,1.03万行代码!
  10. S32K148-CAN收发