Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在Oracle中获取子字符串索引_Sql_Database_Oracle_Function_Oracle11g - Fatal编程技术网

Sql 如何在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

我的数据库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 <= 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
);