如何解决PG::SyntaxError:%符号附近的PostgreSQL语法错误?
解决PostgreSQL format函数语法错误的方法
- 替换中文单引号为英文单引号:PostgreSQL仅识别英文半角单引号,你语句里的
‘Hello, %s %s’使用了中文全角单引号,导致数据库无法正确解析format函数的模板参数。 - 移除末尾多余的
!符号:原语句末尾'lastname' !中的!属于无效字符,破坏了函数调用的语法结构,让数据库无法识别参数数量。
修正后的SQL语句如下:
select format('Hello, %s %s', 'firstname', 'lastname');
执行这条语句会正确返回Hello, firstname lastname,符合format函数的用法规则——第一个参数为带占位符的模板字符串,后续参数依次填充%s占位符。
内容的提问来源于stack exchange,提问作者Nancy Tonelli
相关产品推荐
相关产品推荐

