SQL server合法标识符

~~

SQL server合法标识符

~~
数据库名是一个标识符,表名也是一个标识符,在SQL SERVER中标识符分为两类:

标识符有两类:

1.常规标识符

符合标识符的格式规则。在 Transact-SQL 语句中使用常规标识符时不用将其分隔。
SELECT *FROM TableXWHERE KeyCol = 124

2.分隔标识符

包含在双引号 (“) 或者方括号 ([ ]) 内。符合标识符格式规则的标识符可以分隔,也可以不分隔。
SELECT *FROM [TableX] –Delimiter is optional.WHERE [KeyCol] = 124 –Delimiter is optional.

在 Transact-SQL 语句中,对不符合所有标识符规则的标识符必须进行分隔。
SELECT *FROM [My Table] –Identifier contains a space and uses a reserved keyword.WHERE [order] = 10 –Identifier is a reserved keyword.

常规标识符和分隔标识符包含的字符数必须在 1 到 128 之间。对于本地临时表,标识符最多可以有 116 个字符。

两者重要的区别:常规标识符必须严格遵守命名的规定,而分隔标识符则可以不遵守命名规定,只要用[],””分隔出来就可以。

标识符格式:
  
  1、标识符必须是统一码(Unicode)2.0标准中规定的字符,以及其他一些语言字符。如汉字.
  
  2、名称首字符必须是一个英文字母,,#,@中的任意字符。
  标识符后的字符可以是(除条件一)“
”、“@”、“#”、“$”及数字。
  
  3、标识符不允许是Transact-SQL的保留字。
  
  4、标识符内不允许有空格和特殊字符。
  
  另外,某些以特殊符号开头的标识符在SQL SERVER 中具有特定的含义。如以“@”开头的标识符表示这是一个局部变量或是一个函数的参数;以#开头的标识符表示这是一个临时表或是一存储过程。以“##”开头的表示这是一个全局的临时数据库对象。Transact-SQL的全局变量以“@@”开头。标识符最多可以容纳128个字符。

    原文作者:为 往圣继绝学
    原文地址: https://blog.csdn.net/qq_41675812/article/details/91347827
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞