SQL Server 2008 中的方括号

在本文中,我将介绍 SQL 2008 中的方括号。如果表列名中有特殊字符或者关键字,或者列名之间有空格,则使用方括号。这些可以用于数据库、表或者视图。例如,您的表名想要 Employee Details,然后它会给出错误消息,例如“'Details' 附近的语法不正确”。方括号增加了一致性。下面借助示例讨论一些与方括号相关的问题。

SQL Server方括号例子说明

1.表名之间的空格

让我们举一个实际的例子。让我们创建一个表,其名称类似于员工详细信息,例如:员工和详细信息之间的空间。输入以下代码:

create table Employee Details
(
      id int,
      name varchar(15),
      city varchar (15)
)

现在执行整个代码。
将会报错。

现在将Employee Details放在方括号下。并再次执行整个代码。

create table [Employee Details]
(
      id int,
      name varchar(15),
      city varchar (15)
)

表将创建成功。

2.列名是SQL关键字

另一个问题是,如果列名与预定义的 SQL 关键字相同,那么我们可以将列名放在方括号下。例如,我们创建一个名为 Student Details 的表,并以“from”(SQL 关键字)作为列名并执行以下代码。

create table [Student Details]
(
      Roll Number int,
      Name varchar(10),
      from varchar (10)--from是sql的关键字
)

会出现错误,例如“关键字'from'附近的语法不正确” "Incorrect syntax near the keyword 'from'".。

现在将“from”列名称放在方括号中。并再次执行整个代码:

create table [Student Details]
(
      Roll Number int,
      Name varchar(10),
      [from] varchar (10)-- from是sql的关键字
)

现在就没有语法错误了

3. 列名中有特殊字符

有时列名包含特殊字符。例如:

create table [StudentDetail]
(
      Roll_Num[ber int,
      Name varchar(10),
      [from] varchar (10)--here from is SQL keyword
)

执行上述代码时会显示错误消息“'varchar' 附近的语法不正确 Incorrect syntax near 'varchar'”。

现在将 Roll_Num[ber放在方括号中。并再次执行整个代码就没有问题。

create table [StudentDetail]
(
      [Roll_Num[ber] int,
      Name varchar(10),
      [from] varchar (10)--here from is SQL keyword
)
日期:2020-06-02 22:18:09 来源:oir作者:oir