PostgreSQL如何将列字符串值转为带引号的字符串列表
问题场景与解决需求
初始执行SQL查询:
select my_col from test;
得到结果:
my_col x y z
需要将上述结果转换为带引号的字符串列表,目标格式如下:
'x','y','z'
已尝试的方法及问题
- 执行
string_agg(my_val, ''','''),得到结果:
x','y','z
- 在上述结果基础上使用
quote_literal(),得到:
'x'',''y'',''z'
当前生成的字符串无法直接使用,核心问题是缺少首尾引号——手动传入'x','y','z'时函数可正常工作。
备注:该字符串列表将以variadic _v text[]形式传入存储过程,用于通过where t.v = any(_v)进行值匹配判断。
内容的提问来源于stack exchange,提问作者questionto42
相关产品推荐
相关产品推荐

