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

如何引用带引号的SQL列?含引号列引用失败求助

解决SQL保留字列名"current"的引用问题

你的问题出在两个地方:一是保留关键字列名的引用方式错误,二是查询语句拼接时缺少必要空格导致语法错误。

正确的解决步骤:

  1. 用方括号包裹保留字列名
    SQL Server中,current是内置保留关键字,必须用**方括号[]**包裹才能被识别为列名,双引号或单引号都不符合默认的标识符规则。

  2. 修复查询语句的拼接空格
    你的原代码拼接后会生成SELECT"current"FROM myTable这类语法错误的SQL,必须在SELECT、列名、FROM之间添加空格。

修正后的代码示例:

string colName = "[current]";
// 注意添加SELECT后、FROM前的空格
string query = "SELECT " + colName + " FROM myTable";

SqlCommand cmd = new SqlCommand(query, Conn);
SqlDataAdapter adpt = new SqlDataAdapter(cmd);
DataTable table = new DataTable();
adpt.Fill(table);

补充说明为什么之前的写法无效:

  • 直接写current:会被SQL Server解析为关键字,而非列名
  • 用双引号"current":SQL Server默认不启用双引号作为标识符分隔符(需手动设置SET QUOTED_IDENTIFIER ON,但不依赖此配置更稳妥)
  • 用单引号'current':单引号在SQL中用于包裹字符串常量,会被当成普通字符串而非列名

内容的提问来源于stack exchange,提问作者Alexander The Great

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 10:35:08