我在CurrentCurve Change <1> --> <4>
列中有text
值。
我想将text
拆分为from
和to
列。
from | to __________ 1 | 4
我写这个查询
select
REGEXP_replace( curve.text,'CurrentCurve Change <|> --> <[0-9]>') as from,
REGEXP_replace( curve.text,'CurrentCurve Change <[0-9]> --> <|>') as to,
from mytable
有更好的方法。
答案 0 :(得分:4)
实际上REGEXP_SUBSTR
在这里可能会更有用:
SELECT
REGEXP_SUBSTR(text, '\d+', 1, 1) AS "from",
REGEXP_SUBSTR(text, '\d+', 1, 2) AS "to"
FROM mytable;
注意:FROM
是Oracle / SQL的保留关键字,您不应将其用于表名和列名。我在这里还了解到TO
似乎也是一个保留关键字。我必须将两个别名都放在双引号中才能运行演示。
答案 1 :(得分:0)
在您的情况下,您需要一个介于set()
和<
之间的数字。
您可以使用以下>
来获取REGEXP_SUBSTR
和<
之间的数字,而忽略所有其他数字(示例2,输入字符串中的其他数字):
>
干杯!