SQL查询未运行,其中列名是保留字

时间:2015-10-23 20:16:02

标签: sql sql-server sql-server-2012

我有一个列名是SQL保留字,我如何在SQL Server Management Studio中的查询资源管理器中运行此查询

SELECT Name, [myTable].Schema
FROM myTable

5 个答案:

答案 0 :(得分:5)

在保留字词周围添加[ ]

SELECT [Name], myTable.[Schema]
FROM myTable

实际上,在每个细分市场周围添加括号并不会造成伤害:

SELECT [Name], [myTable].[Schema]
FROM [myTable]

答案 1 :(得分:1)

使用大括号覆盖那个保留的世界。

SELECT [Name], [myTable].[Schema]
FROM [myTable]

答案 2 :(得分:1)

是的,只需使用保留世界周围的括号。

答案 3 :(得分:1)

是的,方括号有帮助。在方括号中使用保留字时,甚至不必提及表名(如果这就是您为表列命名的那些)。

SELECT [Name], [Schema]
FROM   myTable

您甚至可以使用方括号为列名提供空格。 例如:

SELECT [Name] as [Table Name] [Schema] as [Column Name] FROM [myTable]

只是一个小提示(不建议) - 您也可以使用方括号在列名称上使用空格。 例如:CREATE TABLE Sample_table ([Order Number] INT)

答案 4 :(得分:1)

代替专有的方括号[identifier],您最好使用标准SQL的双引号"identifier",它可能(包括MS SQL Server支持每个DBMS:

SELECT Name, "Schema"
FROM myTable