Сгенерированные столбцы в Postgres с использованием заданного шаблона - PullRequest
0 голосов
/ 24 апреля 2020

Мне нужно сгенерировать запрос SQL, который может генерировать столбец, который следует определенному шаблону

Шаблон хранится так: Hello [Name] [lastname]

, где name и lastname оба столбца в таблице.

Как добавить постоянную строку в атрибуты end, start и indbetween?

и как различить guish между чем-то, что является столбцом таблицы, и чем-то, что просто является строкой i добавили, что столбец должен содержать?

Мой запрос в настоящее время выглядит следующим образом - и шаблон затем принимает

ALTER TABLE IF public.nameRegistration
DROP COLUMN IF EXISTS generated_colum 
ADD COLUMN generated_colum TEXT generated ALWAYS as (|Pattern|) stored; 

, а шаблон просто Hello Name lastname

1 Ответ

3 голосов
/ 24 апреля 2020

Вы бы просто сделали конкатенацию строк:

ALTER TABLE ADD COLUMN 
    generated_colum TEXT generated ALWAYS 
    as ('Hello ' || name || ' ' || lastname) stored; 

Как прокомментировано a_horse_with_no_name, в случае, если любой из двух столбцов может быть null, вы можете использовать concat_ws():

ALTER TABLE ADD COLUMN 
    generated_colum TEXT generated ALWAYS 
    as (concat_ws(' ', 'Hello', name, lastname)) stored;
...