#sql #postgresql #quotes #string-agg
Вопрос:
Я использую следующий запрос:
WITH a as (SELECT unnest(string_to_array(animals, ',')) as "pets" FROM all_animals where id = 100)
select * from a
который возвращает следующие данные:
1 Cat
2 Dog
3 Bird
Мой вопрос в том, как я могу отформатировать свой string_to_array
выбор выше, чтобы включить одинарные кавычки, чтобы возвращаемые данные выглядели так:
1 'Cat'
2 'Dog'
3 'Bird'
Ответ №1:
Используйте quote_literal()
для безопасного использования строк с одинарными кавычками:
WITH a AS (
SELECT unnest(string_to_array(animals, ',')) AS pets
FROM all_animals
WHERE id = 100
)
SELECT quote_literal(pets) AS pets
FROM a;
Или короче без CTE:
SELECT quote_literal(unnest(string_to_array(animals, ','))) AS pets
FROM all_animals
WHERE id = 100;
бд<>скрипка <>здесь