Oracle SQL查询:按空格分割字符串,得到第n个字符串



我一直在stackoverflow上搜索这个问题,但还没有找到答案。

给定字符串"hello my name is…",我想用空格分割字符串并获得该字符串的第n个元素。

例如,分割后:[hello, my, name, is…]第一个元素是"hello",第二个元素是"my",以此类推。

我的尝试:

SELECT REGEXP_SUBSTR(help, ' ', 1, 2) from 
(select 'hello my name is...' as help from dual);

给我一个空结果是不正确的。我认为正则表达式空间有问题。

你很接近了。您只需要搜索非空格,因为这就是您想要返回的:

select REGEXP_SUBSTR(help, '[^ ]+', 1, 2)
from (select 'hello my name is...' as help from dual);

最新更新