sql - 如何使用 Oracle 中的 AL32UTF 字符集确定 CLOB 的长度(以字节为单位)?

标签 sql oracle byte clob utf

有没有办法找出 Oracle SQL 查询中特定字段值(可能长于 4000 个字符,也可能不长于 4000 个字符)使用的字节数?
dbms_lob.getLength()返回字符数而不是字节数,我不能直接进行乘法运算,因为此字符集中每个字符的字节数是可变的。简要想知道如何使用 dbms_lob.converttoblob()但这似乎需要 PL/SQL,我需要在单个查询中直接执行此操作。

最佳答案

使用 Oracle 函数 LENGTHB()得到这个结果。
有一种方法可以使用 DBMS_LOB.CONVERTTOBLOB 将 CLOB 转换为 BLOB并使用 DBMS_LOB.GETLENGTH() .这将不会返回字节数。

关于sql - 如何使用 Oracle 中的 AL32UTF 字符集确定 CLOB 的长度(以字节为单位)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13587990/

相关文章:

sql - 在同一查询中多次使用计算列

Oracle 'printf' 等效

java - 在JAVA中将短数组转换为字节数组

java - 如何在 Java 中初始化字节数组?

sql - Scala 22param limit 试图找到一个解决方法并且仍然用于理解而不是 Slick 中的纯 SQL

html - 如何在html中以特定格式显示sql数据

sql - 在 postgres 中解码等效项

.net - 数据库架构 API

C# 将字节数组 append 到现有文件

sql - 为什么 ruby​​ 对字符串数组的排序不同于 sql 顺序(postgres)?