Split 使用分隔符的位置 oracle SQL
我有一个字符串,我想 split 这条线是特定位置的分隔符。
例如,我的字符串
, 我正在寻找的结果是:
因此,我想将镇部分隔符分开。
注意:我的一些字符串是
, 矿井 SQL 下面正在正常工作并返回所需的结果。
在 SQL 我把它写得如下:
以下是结果:
为什么这发生了,我怎样才能解决它?
例如,我的字符串
F/P/O
, 我正在寻找的结果是:
因此,我想将镇部分隔符分开。
注意:我的一些字符串是
F/O
, 矿井 SQL 下面正在正常工作并返回所需的结果。
在 SQL 我把它写得如下:
SELECT Substr/'F/P/O', 1, Instr/'F/P/O', '/'/ - 1/ part1,
Substr/'F/P/O', Instr/'F/P/O', '/'/ + 1/ part2
FROM dual
以下是结果:
为什么这发生了,我怎样才能解决它?
没有找到相关结果
已邀请:
2 个回复
石油百科
赞同来自:
我知道这是一个古老的问题,但这是一个简单的要求
它是
这是足够的 SUBSTR 和 INSTR.
REGEXP
- 它还有更多
慢的
和
密集的
运营 CPU, 比旧功能 subtsr 和 instr.
正如你所说,你需要最多
进一步
分离器,它将意味着第一分离器
逆
.
你的方法很漂亮,但你错过了
start_position
在
INSTR
. 如果是价值 start_position
消极的
, 功能
计算字符数 start_position 从行的末尾,然后在字符串开头的方向上执行搜索。
小姐请别说爱
赞同来自:
. 它应该为您的示例工作:
[/url]
, 顺便说一下,位于 SQL Fiddle.
哦。 我错过了这个问题的一部分,在那里说
最新的
分隔器。 为此,我们可以使用
第一部分:
但
[/url]
它对应 SQL Fiddle.