You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将两列合并为新列?SQL合并列报错求助

解决PostgreSQL中合并大小写敏感列的问题

问题根源

你的报错提示已经给出关键线索:PostgreSQL默认会将未加双引号的标识符(列名、表名)转换为小写。如果你的First_name和Surname列是在创建时通过双引号保留了驼峰大小写(例如CREATE TABLE full_dataset ("First_name" text, "Surname" text)),那么直接写First_name会被数据库识别为first_name,导致找不到对应列。

错误写法分析

  • 尝试语句1:full_dataset.First_name 会被数据库转译为full_dataset.first_name,但实际列名是大小写敏感的First_name,因此报错。
  • 尝试语句2:"full_dataset.First_name" 是把整个字符串当作一个列名来查找,而非full_dataset表下的First_name列,自然不存在。

正确写法

直接对大小写敏感的列名添加双引号即可,同时字符串常量建议使用单引号(SQL标准写法):

SELECT *,
CONCAT("First_name", ' ', "Surname") AS Full_name
FROM full_dataset;

如果需要明确指定表名,格式应为表名."列名":

SELECT *,
CONCAT(full_dataset."First_name", ' ', full_dataset."Surname") AS Full_name
FROM full_dataset;

额外提示

如果后续不想处理大小写敏感的麻烦,可以在创建表时统一使用小写列名(例如first_name、surname),这样查询时无需额外添加双引号。

内容的提问来源于stack exchange,提问作者tommasologi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:21:37