是否曾讨论为PostgreSQL美元引号字符串添加反引用语法?
PostgreSQL美元引号字符串的表达式嵌入功能讨论现状
- 当前PostgreSQL里,美元引号(dollar-quoting)主要用来处理带换行、含引号的字符串字面量,比如定义函数体时很实用,但它本身不支持直接嵌入表达式求值。要实现类似你示例里的效果,目前常用的是字符串拼接符
||或者format()函数。 - 你提议的这种在带
E前缀的美元引号字符串里用\{ }标记嵌入表达式的语法,PostgreSQL目前确实没有提供。 - 关于该功能的讨论:社区里没有针对这种特定语法的专门大规模讨论,但一直有关于增强字符串插值能力的议题。不过这类功能涉及语法兼容、性能开销以及功能优先级等问题,目前还没被纳入核心开发计划。
- 替代实现方式:你的示例可以用以下两种方式实现:
字符串拼接写法:
select 'Lorem ipsum ' || (a * b) || ' blah blah' from (select 2 a, 5 b) x;
format()函数写法:
select format('Lorem ipsum %s blah blah', a * b) from (select 2 a, 5 b) x;
内容的提问来源于stack exchange,提问作者Gunther Schadow
相关产品推荐
相关产品推荐

