【发布时间】:2015-03-17 06:56:43
【问题描述】:
我想在名称中使用 [] 在 sql server 中创建表。这意味着 [] 符号是表名的一部分。我该怎么做?我使用 sql server 2008 r2
【问题讨论】:
-
为什么在这个世界上你要名字包含这样的“符号”。
我想在名称中使用 [] 在 sql server 中创建表。这意味着 [] 符号是表名的一部分。我该怎么做?我使用 sql server 2008 r2
【问题讨论】:
如果用双引号将表名括起来,则可以使用]:
create table "[Mu]Ha[Ha]" (id int);
请注意,使用irregular identifiers 会招来麻烦。并非所有客户端库都能正确处理它们,并且您的代码将变得更难被其他开发人员阅读。
【讨论】:
您可以在其中使用[ ] 创建一个表(或列名),但这被认为是一种不好的做法。
CREATE TABLE "tabl[eO]ne" (ID int NOT NULL)
上述方法可行,但被认为是不好的做法,因为它使代码更难阅读和理解,不仅对您,而且对您之后从事数据库工作的其他开发人员也是如此。
在 SQL 中,如果名称包含空格或某些特殊字符,人们会在表/列名称周围使用方括号,如下例所示:
CREATE TABLE [Table One]
CREATE TABLE [Table-One]
CREATE TABLE [Table_One]
CREATE TABLE [Table*One]
...
这仍然不是一个好的做法,但它遵循“最佳做法”指南。
最佳实践: 避免在表格/列名中使用特殊字符、数字或空格。
【讨论】:
用方括号括起来。 但这不是一个好习惯 [“名称[a]abc”]
【讨论】:
你可以通过使用双括号来克服这个问题。见下文:
CREATE TABLE dbo.[[tbl]]](id INT)
【讨论】: