如何在列名中使用特殊字符选择SQL Server中的列?

Jin*_*ong 8 sql t-sql sql-server

我有一个表包含列标题中的'%',当我在该列上执行select语句时,这会导致问题(有关详细信息,请参阅下面的内容).有谁知道如何通过不保留原始列标题来选择该列?

例:

Table1
name  ref_no  tot_sales  %Phone
-------------------------------
Alan  1       1          100%
amy   2       1          50%
ken   3       4          30%
Run Code Online (Sandbox Code Playgroud)

脚本:

Select %Phone From Table1
Run Code Online (Sandbox Code Playgroud)

错误信息 :

电话附近的语法不正确

Dan*_*llo 17

您可能希望将列名包装在方括号中以使您的标识符分隔:

SELECT [%Phone] FROM Table1
Run Code Online (Sandbox Code Playgroud)

如果该QUOTED_IDENTIFIER选项设置为ON,您还可以使用符合ANSI-SQL的双引号来分隔标识符:

SELECT "%Phone" FROM Table1
Run Code Online (Sandbox Code Playgroud)

  • ...并与他人沟通*从不*为表名或列名使用不寻常的字符. (9认同)