要在 Oracle 中将 BLOB 投影到 CLOB,我可以执行以下查询:
SELECT ent.ID, to_clob(ent.blob_string) from entity_1 ent;
但是,我无法在 H2 中找到与 to_clob
等效的操作来在 H2 控制台中查看我的数据。我该怎么做?
最佳答案
这取决于您的 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 及其兼容模式之间也有所不同。
关于sql - 如何在H2数据库中将BLOB查询为CLOB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61817677/