Извлечение данных из столбца в новый столбец SQL Developer - PullRequest
0 голосов
/ 14 октября 2018

Я импортировал данные в SQL-разработчик, и мне нужно отделить данные из одного столбца в новый столбец.Например, у меня есть:

Temp_Title
Congo (1995)
Nadja (1993)

Мне нужно удалить год из заголовка в новый столбец с именем temp_year.Мне сказали, что я могу использовать "Parse", но я не уверен, с чего начать.Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 14 октября 2018

Вы не указали базу данных, которую используете;Кроме того, вы упомянули «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>
...