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

使用SELECT查询指定列时仅返回列名而非实际数据问题求助

问题原因

单引号在标准SQL语法中用于标记字符串常量,你在列名外包裹单引号的写法,本质是要求数据库返回nom、calories这两个固定字符串,而非读取aliment表中对应字段的实际值,所以才会出现每一行都显示列名字面量的问题。你之前执行SELECT * FROM aliment;可以正常返回全表数据,就是因为星号没有被单引号包裹,SQL会识别为查询所有列的指令。

解决方法
  • 普通场景下查询指定列,直接写列名即可,不需要加任何包裹符号:
SELECT nom, calories FROM aliment;
  • 如果你的列名包含空格、特殊字符,或者和SQL保留关键字重名需要转义时,根据你使用的数据库类型选择对应的标识符包裹符号即可,不要使用单引号:
    • MySQL / MariaDB 用反引号(`)包裹:
    SELECT `nom`, `calories` FROM aliment;
    
    • PostgreSQL / SQLite / Oracle 用双引号(")包裹:
    SELECT "nom", "calories" FROM aliment;
    
    • SQL Server 用方括号([])包裹:
    SELECT [nom], [calories] FROM aliment;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:36:04