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段需要指定一个对应的文件。

KingbaseES 导入导出blob列数据的更多相关文章

  1. NodeJs之EXCEL文件导入导出MongoDB数据库数据

    NodeJs之EXCEL文件导入导出MongoDB数据库数据 一,介绍与需求 1.1,介绍 (1),node-xlsx : 基于Node.js解析excel文件数据及生成excel文件. (2),ex ...

  2. mysql 导入导出数据库、数据表的方法

    mysql 导入导出数据库.数据表的方法. Linux操作系统中,均在控制台下操作.1,导入数据库:前提:数据库和数据表要存在(已经被创建)(1)将数据表 test_user.sql 导入到test ...

  3. C# 使用Epplus导出Excel [2]:导出动态列数据

    C# 使用Epplus导出Excel [1]:导出固定列数据 C# 使用Epplus导出Excel [2]:导出动态列数据 C# 使用Epplus导出Excel [3]:合并列连续相同数据 C# 使用 ...

  4. C# 使用Epplus导出Excel [1]:导出固定列数据

    C# 使用Epplus导出Excel [1]:导出固定列数据 C# 使用Epplus导出Excel [2]:导出动态列数据 C# 使用Epplus导出Excel [3]:合并列连续相同数据 C# 使用 ...

  5. 批量快速的导入导出Oracle的数据(spool缓冲池、java实现)

    1. Java代码实现思路 BufferedWriter writefile = new BufferedWriter(new FileWriter(file));  writefile.write( ...

  6. Bash中使用MySQL导入导出CSV格式数据[转]

    转自: http://codingstandards.iteye.com/blog/604541 MySQL中导出CSV格式数据的SQL语句样本如下:   select * from test_inf ...

  7. Mysql 导入导出数据结构及数据

    方式一: mysqldump -ukevin -P3306 --default-character-set=utf8 -p -h10.1.15.123 activity sign_in_user &g ...

  8. oracle如何快速导入导出文本格式数据

    导出工具:sqluldr2工具说明:sqluldr2再以安装oracle客户端的环境下下无需再安装其它软件,只需将对应的软件包拷贝至对应目录,即可运行导出数据导出示例:--linux环境导出示例:/d ...

  9. mysql导入导出.csv格式数据

    window下导入数据: LOAD DATA INFILE "C:\\1.csv" REPLACE INTO TABLE demo CHARACTER SET gb2312 FIE ...

随机推荐

  1. SAP ABAP 快速入门之 开发环境 (Environment)

    报表是学习ABAP 原则和工具的很好的 起点.ABAP 报表在许多领域都有使用,本章将介绍简单ABAP 报表的开发. Hello ABAP 让我们以'Hello World' 开始. 每一个abap ...

  2. 拒绝蛮力,高效查看Linux日志文件!

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 日常分析问题时,会频繁地查看分析日志,但如果蛮力去查看日志,耗时费力还不一定有效果,因此我总结了在Linux常用的 ...

  3. python素描照片

    #!/usr/bin/python # -*- coding: utf-8 -*- from PIL import Image import numpy as np a = np.asarray(Im ...

  4. 『现学现忘』Docker基础 — 42、补充:save和load命令说明

    目录 1.save命令 2.load命令 1.save命令 将指定的一个或多个镜像保存成.tar格式的文件,进行打包归档. 查看docker save帮助命令,如下: [root@192 ~]# do ...

  5. Java开发问题:Column 'AAA' in where clause is ambiguous解决办法

    当在java开发中遇到了Column 'AAA' in where clause is ambiguous问题时, 你需要去看看:多表查询的时候不同的表是否出现了相同名称相同的列, 如果存在,你需要在 ...

  6. Android 12(S) 图像显示系统 - drm_hwcomposer 简析(上)

    必读: Android 12(S) 图像显示系统 - 开篇 前言 Android源码中有包含drm_hwcomposer:/external/drm_hwcomposer/ drm_hwcompose ...

  7. 《Ranked List Loss for Deep Metric Learning》CVPR 2019

    Motivation: 深度度量学习的目标是学习一个嵌入空间来从数据点中捕捉语义信息.现有的成对或者三元组方法随着模型迭代过程会出现大量的平凡组导致收敛缓慢.针对这个问题,一些基于排序结构的损失取得了 ...

  8. scanf读入与printf输出

    作为一个资深$cin,cout$玩家,在多次因为$cin$太慢被吊打后,开始反思有必要认真地学一下$scanf$和$printf$了$\cdot \cdot \cdot$ 格式 $scanf( &qu ...

  9. word段落前的小点·

    原因是因为修改论文时,要求在论文的标题前加上 '·' 类似: 在网上搜索了半天,都是加符号,特此记录 解决: 1.文件---选项---显示--勾选段落标记 2.修改样式 至此,设置完毕,章节前的小点已 ...

  10. 003 Jwt登录流程图

    用户\角色\权限 用户是一个基本的单位 用户和角色的关系是多对多,所以要有一张保存用户和角色关系的中间表 角色也不能直接决定这个用户能做什么操作,有哪些权限, 需要再关联权限表决定 角色和权限也是多对 ...