Sql服务器[内容]命名列奇怪的行为?

标签 sql sql-server t-sql sql-server-2008-r2

我创建了包含信息的 SQL Server 表,其中一列应包含 content 所以我将其命名为 [content] (不要问我为什么)。

enter image description here

但是当我执行一个简单的查询以返回所有列时:我发现其中一列丢失(BenefitName 列):

注意:我还忘记了两列之间的逗号,但仍然 - 它确实运行成功 - 但 - 没有该列。

enter image description here

我尝试在另一列之后添加不带逗号的[conent],并且它确实编译了:

enter image description here

问题:

  • 这是怎么回事?我忘记了逗号,但它没有失败,另外:我没有得到 benefitName 列。

注:

添加逗号 - 确实会返回正确的结果:

enter image description here

最佳答案

...I forgot a comma and it didn't fail..

发生的情况是,[content] 成为了 [BenefitName] 列的别名

[BenefitName] AS [content]

相同
[BenefitName] [content]

因为 AS 关键字是可选的。

关于Sql服务器[内容]命名列奇怪的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25639846/

相关文章:

MySQL 如何将第二组参数结果转换为列?

sql-server - 在 SET 和 JOIN 子句中使用 TVP 名称

sql - sql 中的 xml select 出现问题 - 似乎无法按正确的顺序组织多个节点

sql - 计算列上的窗口函数

mysql - 如何选择一个表中的记录而不是另一个具有多个 PKID 的记录?

mysql - 将 SQL 更新语句转换为 View 语句

sql-server - SQL Server 中 ADSI 链接的可用字段

sql - Oracle 文档不是 NVL

sql - 验证 T-SQL 存储过程的可靠方法

sql-server - SQL 转换列名而不是值