• 作者:老汪软件技巧
  • 发表时间:2024-01-08 17:00
  • 浏览量:

是SQL 中的一个重要概念,它与规范化标识符( )密切相关。在本文中,我们将介绍SQL 中的 是什么,如何使用它来规范化标识符。

什么是SQL Server中的Quoted Identifier,如何使用它来规范化标识符?

是什么

是一种机制,用于识别SQL语句中的对象名称。在SQL 中,对象名称可以是数据库、表、列、存储过程、函数等等。 机制指定了SQL 将如何解释对象名称,以及它们是否需要加引号( Marks)来区分它们与SQL语句中其余部分的差异。

在SQL 中,对象名称通常被称为标识符()。标识符可以是简单的名称,如“”或“”,也可以是带有空格、特殊字符或保留字的复杂名称,如“[my ]”或“[ name]”。

需要注意的是,标识符必须遵循一些规则。例如,它们必须以字母字符(包括下划线“_”)开头,不能包含空格或标点符号等等。

如何使用

的主要作用是允许使用保留字、空格或特殊字符等直接嵌入在对象名称中。例如,下面的SQL语句使用 来标识列名带有空格的表

```

[ name], [job title] FROM [human ].[]

```

要使用 ,需要使用一对单引号或双引号将对象名称括起来。例如,如果希望将包含空格或保留字的名称视为标识符,则可以使用以下语法:

```

"my ", "" FROM "my table"

```

在这个例子中,由于双引号包括了标识符,因此可以将包含保留字的名称视为标识符。由于名称中有空格,因此需要将其放在引号中。

还可以用于在SQL语句中嵌入特殊字符,例如:

```

[order id], [order date/time], [total cost] FROM [].[dbo].[]

```

在这个例子中,方括号([])用来指定列名。方括号可以将带空格的名称视为标识符,而不需要使用引号。

规范化标识符

规范化标识符是一种将不同数据库中的对象名称区分开来的机制。在不同的数据库中,可能会存在相同名称的表、列或其他对象,如果不加以区分,就会导致不可预知的结果。规范化标识符的作用就是避免这种情况的发生,它将所有对象名称转换为特定格式,确保它们在不同的数据库中是唯一的。

规范化标识符的格式由三部分组成:

1. 服务器名称(如果有的话)

2. 数据库名称

3. 对象名称

例如,以下是一个使用规范化标识符的查询:

```

[].[ id], [].[order date]

FROM [].[dbo].[] INNER JOIN

[].[dbo].[]

ON [].[ id] = [].[ id]

```

在这个例子中,三部分规范化的标识符分别是“”、“dbo”和“”,“”。

需要注意的是,在使用规范化标识符时,所有的对象名称都必须加上方括号。否则,SQL 可能会将对象名解释为关键字或其他特殊符号。

结论

是规范化标识符的重要组成部分。它允许在SQL 中使用包含空格、保留字或特殊字符的对象名称,同时也避免了在不同数据库中出现相同对象名称的问题。在SQL查询中,使用 和规范化标识符是一个好的习惯,它可以提高代码的可读性和可维护性。