PGAdmin4中CONCAT()拼接字段的SQL语句错误排查
SQL语句错误说明
你编写的SQL存在3类问题,会直接报错或者输出不符合要求的结果:
- 语法缺失:
SELECT后列出的name, created_at和后续的CONCAT()计算列之间没有加逗号分隔,会直接触发语法解析错误。 - 拼接逻辑错误:
- 固定标签拼接不符合要求:你漏写了
name:、date:两个固定标签里的name、date文本,还重复拼接了两次name字段,拼出来的内容完全不符合指定格式。 - 引用了不存在的字段:表里没有名为
date的字段,存储日期值的字段是created_at,这里会报「未知字段」的错误。
- 固定标签拼接不符合要求:你漏写了
- 结束符位置错误:
CONCAT()函数行的结尾多写了分号,SQL中分号是整条语句的结束标记,写在FROM子句之前会截断语句,导致后续的FROM purchases被识别为无效语句。
修正后可直接运行、输出符合要求的SQL如下:
SELECT CONCAT('name: ', name, '; ', 'date: ', created_at) AS name_date FROM purchases;
执行后返回的name_date字段格式完全匹配要求,首行结果会是name: Harrison Jonson; date: 2011-03-16的样式。
内容的提问来源于stack exchange,提问作者Sarah Wallace
相关产品推荐
相关产品推荐

