我想在sql server中使用名称中的[]来创建表。它的意思是[]符号是表名的一部分。我可以这样做吗?我使用sql server 2008 r2
答案 0 :(得分:3)
如果您将表名用双引号括起来,则可以使用]
:
create table "[Mu]Ha[Ha]" (id int);
请注意,使用irregular identifiers是一个有问题的邀请。并非所有客户端库都能正确处理它们,并且您的代码将变得难以为其他开发人员阅读。
答案 1 :(得分:1)
您可以使用[
]
创建一个表(或列名),但这被认为是一种不好的做法。
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]
...
这仍然不是一个好习惯,但它遵循“最佳实践”指南。
所有人的最佳做法: 完全避免在表格/列名称中使用特殊字符,数字或空格。
答案 2 :(得分:0)
括在方括号内。 但这不是一个好习惯 [ “名称[α] ABC”]
答案 3 :(得分:0)
您可以使用双支架克服此问题。见下文:
CREATE TABLE dbo.[[tbl]]](id INT)