1

我正在使用以下查询:

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'
4

1 回答 1

0

用于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;

db<>在这里摆弄

于 2021-09-30T03:37:29.880 回答