Sql 如何在Oracle中获取子字符串索引
我的数据库Oracle中有以下字段Sql 如何在Oracle中获取子字符串索引,sql,database,oracle,function,oracle11g,Sql,Database,Oracle,Function,Oracle11g,我的数据库Oracle中有以下字段 Jayson,1990,3,july 我想得到这里的所有值。 解决办法是什么 我想在这里得到所有的值 这里在哪里 也许是这样的 SQL> with test (col) as 2 (select 'Jayson,1990,3,july' from dual) 3 select regexp_substr(col, '[^,]+', 1, level) result 4 from test 5 connect by level
Jayson,1990,3,july
我想得到这里的所有值。
解决办法是什么
我想在这里得到所有的值
这里在哪里
也许是这样的
SQL> with test (col) as
2 (select 'Jayson,1990,3,july' from dual)
3 select regexp_substr(col, '[^,]+', 1, level) result
4 from test
5 connect by level <= regexp_count(col, ',') + 1;
RESULT
------------------
Jayson
1990
3
july
SQL>
对不起,描述不好。
我想先将名字作为FirstName,然后将日期作为date,然后将日期作为day。因此,我希望每次返回一行。我将执行它4次以检索所有结果
结果:
Name:
Jayson
Date:
1990
Day:
3
你试过什么?你能把你的代码放在问题里吗?对不起,描述不好。我想先把名字作为名字,然后把日期作为日期,然后把日期作为日期结果:姓名:Jayson日期:1990天:3我修改了我的邮件;看一看
Name:
Jayson
Date:
1990
Day:
3
SELECT CASE WHEN rn = 1 THEN 'Name: '
WHEN rn =2 THEN 'Year: '
WHEN rn = 3 THEN 'Day: '
WHEN rn = 4 THEN 'Month: ' END || result "Results"
FROM
(
WITH TEST (col) AS
(SELECT 'Jayson,1990,3,july' FROM dual)
SELECT REGEXP_SUBSTR(col, '[^,]+', 1, LEVEL) result, ROWNUM rn
FROM TEST
connect BY LEVEL <= REGEXP_COUNT(col, ',') + 1
);