【问题标题】:How to split a string into columns by a specific length (and not delimiter)如何按特定长度(而不是分隔符)将字符串拆分为列
【发布时间】:2020-08-14 07:46:14
【问题描述】:

如何按特定长度(而不是分隔符)将字符串拆分为列 例如,字符串是一个 40000 个字符的查询,我需要将其拆分为 3000 个字符的字符串,然后在其中运行替换操作,因为字符串中有“$”,我需要用某些可替换字符替换它们

select $, $ from (select $,$ from where ...... id=$ .......
...
..
....
order by $)

现在我需要将 $ 替换为我的特定值。我尝试过,但由于缓冲区,它没有返回完整的 40000 长度查询。

【问题讨论】:

  • 你试过 SUBSTR(string, start_position [, length ] ) 吗?
  • 请通过示例提供更多详细信息。
  • 您好,感谢您与我们联系,我只想将一个包含 40000 个字符的字符串拆分为包含 2000/3000 个字符的较小字符串,这些字符串全部位于不同的动态变量或表列值中。

标签: string oracle plsql split string-length


【解决方案1】:

简单的方法:

select regexp_substr('qwertyuioplkjhgfdsazxcvbnm', '.{1,6}',1,level) as mini_str_len_6 
from dual
CONNECT by LEVEL <= regexp_count('qwertyuioplkjhgfdsazxcvbnm', '(.{1,6})');

结果:

qwerty
uioplk
jhgfds
azxcvb
nm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 2020-03-09
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-22
    相关资源
    最近更新 更多