gpt4 book ai didi

sql - 在 Oracle 中使用 REGEXP_SUBSTR 作为拆分

转载 作者:行者123 更新时间:2023-12-02 22:01:08 27 4
gpt4 key购买 nike

我有 A.FIELD 输出以下格式:

9:30AM - 12:50PM AbCdEfGhIj XY-000

我正在尝试找出一种方法来根据指定的分隔符获取每个单独的值。

  1. 第一个 之前的所有整数:(例如:9)
  2. 第一个 - 或第二个空格之后和第二个 之前的所有整数:(例如:12)
  3. 第三个空格之前的所有字符(例如:9:30AM - 12:50PM)
  4. 最后一个空格之前和倒数第二个空格之后的所有字符(例如:AbCdEfGhIj)

现在我可以获得以下信息:

REGEXP_SUBSTR(A.FIELD, '\S*$')                        -- XY-000
REGEXP_SUBSTR(A.UP_CLASS_MEETINGS, '[^ ]+', 1) -- 9:30AM

我的第二个示例是否是获取 9:30AM 的最佳方法?它有缺陷吗?

如何最好地利用 SUBSTRINSTR 和/或 REGEXP_SUBSTR

最佳答案

regexp_substr(a.field, '(\d+):', 1, 1, '', 1),
regexp_substr(a.field, '(\d+):', 1, 2, '', 1),
regexp_substr(a.field, '\S+(\s|-)+\S+'),
regexp_substr(a.field, '\S+(\s|-)+\S+\s+(.*)\s+\S+$', 1, 1, '', 2)

fiddle

关于sql - 在 Oracle 中使用 REGEXP_SUBSTR 作为拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16922832/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com