используя concat функцию в sql - PullRequest
0 голосов
/ 29 августа 2018

Пример данных

 yearmon
 Jul-2017
 Aug-2017
 Sep-2017
 Jan-2018
 Jul-2018

Я хочу добавить '15' для столбца yearmon.

Я пытался использовать функцию concat, но она не работает.

Ожидается

  yearmon
 15-Jul-2017
 15-Aug-2017
 15-Sep-2017
 15-Jan-2018
 15-Jul-2018

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Я большой поклонник хранения дат в виде дат, а не строк. По этой причине я бы порекомендовал:

select to_date('Jul-2017', 'MON-YYYY') + interval '14 day')

В результате получается значение с соответствующим типом данных.

0 голосов
/ 29 августа 2018

Стандарт SQL имеет оператор конкатенации, который легко понять и быстро набрать. Вы просто используете || оператор, так же, как вы использовали бы + для целых чисел:

SELECT '15-' || yearmon AS full_date FROM table;

concat функция вызывает || Оператор внутри. concat функция будет вызываться следующим образом.

SELECT concat ('15-', yearmon) AS full_date FROM table;
SELECT concat_ws ('-', '15', yearmon) AS full_date FROM table;
...