注册

如何能写SQL把BLOB类型转成字符串显示?且超过32767后不报字符串截断的错误

小小up 2026/07/22 284 1

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:--03134284336-20250507-272534-20132
【操作系统】:Linux
【问题描述】*:
现状: 我的t表中有个blob_str列是BLOB类型
目标: 我希望写个SQL:select blob_str from t where id=1;(例子) 能够直接把该字段以文本字符串形式来查询显示。目前在manage客户端只会显示成"<二进制>"。
我进行的尝试:
select utl_raw.cast_to_varchar2(DBMS_LOB.SUBSTR(blob_str , 30000)),
utl_raw.cast_to_varchar2(DBMS_LOB.SUBSTR(blob_str , 30000, 30001)) from t;
我用上面的语句,拆成2个字段显示,每个字段显示3w个字符,这样是可以显示出来。
但是我的目标是希望显示到一个字段上,我如果把逗号改成||,则会报错“字符串截断”,说明字符串超过32767左右显示不出来。

是否有办法实现我的目标?

回答 0
暂无回答
扫一扫
联系客服