BLOB到字符串的转换-DB2

BLOB到字符串的转换-DB2,db2,blob,sqoop,Db2,Blob,Sqoop,DB2中的表包含BLOB数据。我需要将其转换为字符串,以便以可读的格式查看。我试过这样的选择 获取blob对象并转换为字节数组 字符串缓冲读取器 使用--map column java和--map column配置单元选项导入sqoop 在这些转换之后,我也无法以可读的格式查看数据。其格式不可读,如1F80000 请就如何处理这种情况提出解决方案。我认为您需要了解CAST函数 SELECT CAST(BLOB_VAR as VARCHAR(SIZE)CCSID UNICODE)as CHAR_

DB2中的表包含BLOB数据。我需要将其转换为字符串,以便以可读的格式查看。我试过这样的选择

  • 获取blob对象并转换为字节数组
  • 字符串缓冲读取器
  • 使用--map column java和--map column配置单元选项导入sqoop
  • 在这些转换之后,我也无法以可读的格式查看数据。其格式不可读,如1F80000


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

    我认为您需要了解CAST函数


    SELECT CAST(BLOB_VAR as VARCHAR(SIZE)CCSID UNICODE)as CHAR_FLD
    1f8b0000表示gzip格式的数据,因此您必须将其解压缩。

    我尝试了给定的代码,但仍然以无法读取的格式获取数据。我假设您正在使用Java。尝试将CCSID添加到强制转换。试试这个:“选择CAST(BLOB_VAR as VARCHAR(SIZE)CCSID UNICODE)as CHAR_FLD”您确定该列包含文本吗?你知道这个列的编码吗?是EBCDIC吗?编辑您的问题以添加Db2版本和Db2平台(Z/OS、i-Series、LUW)以及列编码信息。如果是文本,为什么它在BLOB(二进制大对象)而不是CLOB(字符大对象)中?我还没有看到数据。我们正试图从数据库中获取数据。我只知道数据是gzip压缩格式的,它是xml数据。