Вы не указали базу данных, которую используете;Кроме того, вы упомянули «SQL Developer» (разработанный Oracle), но пометили вопрос тегом «plsqldeveloper», чтобы фактический запрос мог зависеть от определенной информации, которой вы не поделились с нами.
В любом случае, для начала, вот пример (на основе Oracle), в котором используются два параметра:
- , первый использует традиционный
SUBSTR
+INSTR
комбинация - другое использует регулярные выражения
.
SQL> with test (temp_title) as
2 (select 'Congo (1995)' from dual union all
3 select 'Nadja (1993)' from dual union all
4 select 'Back to the future (1985)' from dual
5 )
6 select
7 substr(temp_title, 1, instr(temp_title, '(') - 1) title,
8 substr(temp_title, instr(temp_title, '(') + 1, 4) year,
9 --
10 regexp_substr(temp_title, '(\w| )+') title2,
11 rtrim(regexp_substr(temp_title, '\d+\)$'), ')') year2
12 from test;
TITLE YEAR TITLE2 YEAR2
-------------------- ---------------- -------------------- -----
Congo 1995 Congo 1995
Nadja 1993 Nadja 1993
Back to the future 1985 Back to the future 1985
SQL>