SQL Server Mgmt Studio显示"无效的列名称"列出列时?

时间:2016-05-09 21:05:34

标签: sql-server select ssms

我曾经习惯使用Python或Matlab编写脚本,而我在SQL的前几个小时一直很令人愤怒。我想以任何方式,形状或形式在屏幕上显示列的列表;但是当我使用像

这样的命令时
select * 
from "2Second Log.dbo.TagTable.Columns"

我一直收到错误:

  

列名称无效' [我表格中的第一列]'。

即使我从未明确要求[我的表格中的第一列],它也找到了它。如何正确识别第一列名称,然后声称它无效!?婴儿将被勒死。

My data structure, query, and the error message.

此数据库由Allen Bradley的FactoryTalk软件生成。我真正想要做的是生成一个" TagName"的实际列表。字符串......但是当我尝试时,我得到了同样的错误。如果有办法实际双击表并打开它并查看它(如在Matlab中),这将是理想的。

2 个答案:

答案 0 :(得分:3)

在上述评论中回应juergen的建议。看起来您正在master数据库上运行查询,而不是实际拥有您的表的2Second Log数据库。 (您可以通过查看屏幕截图左上角的下拉列表中的数据库来判断)。你可以做两件事:

  • 将左上角的下拉菜单更改为2Second Log。这会将您的查询定位到其他数据库
  • 按照juergen的建议(即select * from [2Second Log].dbo.TagTable
  • )将数据库名称放在括号中

作为一方,如果您正在寻找一个好的SQL教程,我强烈推荐Mode SQL tutorial。这是一个非常棒的互动平台,可以帮助您轻松掌握SQL语言。

答案 1 :(得分:1)

当名称/字段包含空格或短划线时,

始终使用括号。

select * from [2Second Log].dbo.TagTable