|
Пользовательская агрегатная функция конкатенации
|
|||
---|---|---|---|
#18+
Здравствуйте. У меня есть задание, с которым я пытаюсь уже долго разобраться,но всё никак. Есть таблица, самая простая, состоящая из id(1,2,3,4), к примеру. Нужно написать агрегатную функцию конкатенации, чтобы, по итогу, возвращалось значение по типу 1_2_3_4. По идее, нужно преобразовать столбик значений либо в массив, либо в строку,а потом пройтись по ней циклом и заменить пробелы на '_' или что-то такое. В теории понятно как это можно реализовать, но на практике я не могу понять с чего хотя бы начать. Ищу помощи или небольшой подсказки на этот счет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2020, 16:09 |
|
Пользовательская агрегатная функция конкатенации
|
|||
---|---|---|---|
#18+
AlexeyPetroff, Вообще такая функция уже написана, называется string_agg: Код: sql 1. 2. 3. 4.
Если нужно написать свою собственную агрегатную функцию, то можно посмотреть здесь (тема 16) или здесь . ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2020, 16:43 |
|
Пользовательская агрегатная функция конкатенации
|
|||
---|---|---|---|
#18+
Павел Лузанов, Да, я видел, что уже есть они, но поставлена задача свою написать. У меня просто проблема с PostgreSQL и в общем с SQL, наверное. Не могу понять как составить это дело. Чем сама функция и из чего состоит я понял, просто не могу понять как составить и с чего начать саму внутреннюю функцию для обработки. Спасибо за ссылки, изучу, может поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2020, 16:48 |
|
|
start [/forum/topic.php?fid=53&msg=40019561&tid=1994371]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
148ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 290ms |
total: | 527ms |
0 / 0 |