BLOB 到字符串的转换 - DB2

问题描述 投票:0回答:3

DB2 中的一个表包含 BLOB 数据。我需要将它转换成字符串,以便可以以可读的格式查看它。我尝试了像

这样的选项
  1. 获取 blob 对象并转换为字节数组
  2. 字符串缓冲区读取器
  3. sqoop 使用 --map-column-java 和 --map-column-hive 选项导入。

在这些转换之后,我也无法以可读格式查看数据。它的格式不可读,例如 1f8b0000..

请就如何处理这种情况提出解决方案。

db2 blob sqoop
3个回答
3
投票

我认为您需要查看 CAST 函数。

SELECT CAST(BLOB_VAR as VARCHAR(SIZE) CCSID UNICODE) as CHAR_FLD

此外,请注意 SIZE 的最大值为 32K。

如果你试过这个,请告诉我。


0
投票

1f8b0000表示gzip形式的数据,所以你必须解压它。


0
投票

首先,触发这个查询:

Select `cast(blob_field_name as varchar) blob_field_name from table`

稍后,使用上面查询的输出来执行这个查询:

Select x'output' from table

在这里,第一个查询生成的输出将是一个由空格分隔的数字序列。

此输出应放在第二个查询中的引号之间。 这将输出 blob 数据。

© www.soinside.com 2019 - 2024. All rights reserved.