Я хотел бы получить все значения здесь
Где находится "здесь"?
Что-то вроде этого, возможно?
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>
[РЕДАКТИРОВАТЬ, увидев комментарий]
Два простых варианта: один - использовать REGEXP_SUBSTR
, другой - традиционный SUBSTR
+ INSTR
комбинация:
SQL> with test (col) as
2 (select 'Jayson,1990,3,july' from dual)
3 select
4 regexp_substr(col, '\w+', 1, 1) name,
5 regexp_substr(col, '\w+', 1, 2) year,
6 regexp_substr(col, '\w+', 1, 3) day,
7 regexp_substr(col, '\w+', 1, 1) month,
8 --
9 substr(col, 1, instr(col, ',', 1, 1) - 1) name_2,
10 substr(col, instr(col, ',', 1, 1) + 1, instr(col, ',', 1, 2) - instr(col, ',', 1, 1) - 1) year_2,
11 substr(col, instr(col, ',', 1, 2) + 1, instr(col, ',', 1, 3) - instr(col, ',', 1, 2) - 1) day_2,
12 substr(col, instr(col, ',', 1, 3) + 1) month_2
13 from test;
NAME YEAR D MONTH NAME_2 YEAR D MONT
------ ---- - ------ ------ ---- - ----
Jayson 1990 3 Jayson Jayson 1990 3 july
SQL>