【问题标题】:How to know the number of bytes based upon length in oracle 12c如何根据oracle 12c中的长度知道字节数
【发布时间】:2016-02-10 11:43:31
【问题描述】:

当我使用 listagg 函数时,我得到了大约 2500-4500 个字符。我已经知道 listagg 函数最多限制为 4000 个字节。但我很想知道它需要多少个字符才能等于 4000 个字节,或者至少 oracle 如何根据字符计算字节。谁能帮我解决这个问题。

该字段使用的数据类型是 Varchar2(255 字节)

我从该字段连接字符串并获得大约 2500-4500 个字符。

【问题讨论】:

    标签: oracle oracle12c


    【解决方案1】:

    这取决于NLS_LENGTH_SEMANTICS。所以无论你的角色集是什么,你的角色都会占据那么多空间。例如在 US7ASCII 1 CHAR = 1 BYTE 而在 UTF8 1 CHAR = 1 to many BYTES。

    【讨论】:

    • 我使用的是字节格式。你能告诉我吗?
    【解决方案2】:

    做一个

    select value from v$nls_parameters where parameter = 'NLS_CHARACTERSET';
    

    它可能是AL32UTF8,它是一个可变宽度的多字节字符集。标准 ASCII 字符将占用一个字节,而重音或非英语字符通常占用三个或四个。

    【讨论】:

      猜你喜欢
      • 2015-10-22
      • 1970-01-01
      • 2012-10-06
      • 2010-10-14
      • 2021-01-03
      • 2017-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多