SQL Server 2017从零开始学(视频教学版)
上QQ阅读APP看书,第一时间看更新

3.2.4 符号常量

1.分隔符

在T-SQL中,双引号有两层意思。除了引用字符串之外,双引号还能够用来做分隔符,也就是所谓的定界表示符(delimited identifier)。分隔标识符是标识的一种特殊类型,通常将保留当作标识符并且用数据库对象的名称命名空间。

提示

单引号和双引号之间的区别就在于前者适用于SQL92标准。标识符这种情况中,这种标准用于区分常规和分隔标识符。关键的两点就是分隔标识符是用双引号引出的,而且还区分大小写(T-SQL还支持用方括号代替双引号)。双引号只用于分割字符串。一般来说,分隔标识符说明了标识符的规格,对保留的也起到了同样的作用。分隔标识符还可以让你不用名字(标识符、变量名),这些名字也可以在将来的SQL标准中用作保留的。并且,分隔标识符还可能在标识符名中包含不合规定的字符,如空格。

在T-SQL中,双引号是用来定义SET语句QUOTED_IDENTIFIER选项的。如果这一选项设为ON(默认值),那么双引号中的标识符就被定义成了分隔标识符。在这种情况下,双引号就不能用于分割字符串。

技巧

说明一个T-SQL语句的注释有两种方法。一种方法是使用一对字符/**/,注释就是对附着在里面的内容进行说明。这种情况下,注释内容可能扩展成很多行。另一种方法是使用字符“--”(两个连字符)表示当前行剩下的就是注释。

2.标识符

在T-SQL中,标识符用于识别数据库对象,如数据库、表和索引。它们通过字符串表示出来,这些字符串的长度可以达到128个字符,还包含字母、数字或者“_”“@”“#”和“$”。每个名称都必须以一个字母或者以下字符中的一个开头:“_”“@”或“#”。以“#”开头的表名或存储程序名表示一个临时对象,而以“@”开头的标识符则表示一个变量。就像之前提到的,这些规则并不适用于分隔标识符(也叫作引用标识符),分隔标识符可以将这些字符包含在内或者以其中的任意字符开头(而不是分隔符自己)。