要将 BLOB 投影到 Oracle 中的 CLOB,我可以执行以下查询:
SELECT ent.ID, to_clob(ent.blob_string) from entity_1 ent;
Run Code Online (Sandbox Code Playgroud)
但是,我to_clob在 H2 中找不到等效的操作来查看我在 H2-console 中的数据。我怎么能做到这一点?
这取决于您的 BLOB 的内容。在 H2 控制台中,您实际上可以看到BLOB其他二进制值以十六进制表示形式存在,而没有任何附加功能。
您可以使用CAST(ent.blob_string AS VARCHAR)(或CAST(ent.blob_string AS CLOB)) 将二进制字符串显式转换为字符串,但这种转换在不同版本的 H2 中使用不同的编码。旧版本使用十六进制表示,新版本使用 UTF-8。您可以UTF8TOSTRING(ent.blob_string)在新旧版本中使用UTF-8 转换函数。也有RAWTOHEX(ent.blob_string)功能,但不同版本的H2和兼容模式的表现也有所不同。