20

我想知道在 T-SQL、MSSQL 的列名中允许使用哪些特殊字符。所以我知道我可以使用字母和数字,但其他字符是否可用不使用方括号 [] 来引用此列?

4

1 回答 1

35

来自MSDN

第一个字符必须是以下之一:

  • Unicode 标准 3.2 定义的字母。字母的 Unicode 定义包括从 a 到 z、从 A 到 Z 的拉丁字符,以及来自其他语言的字母字符。
  • 下划线 (_)、at 符号 (@) 或数字符号 (#)。

后续字符可以包括以下内容:

  • Unicode 标准 3.2 中定义的字母。
  • 来自基本拉丁文或其他国家文字的十进制数字。
  • at 符号、美元符号 ($)、数字符号或下划线。

标识符不能是 Transact-SQL 保留字。SQL Server 保留保留字的大写和小写版本。

不允许嵌入空格或特殊字符。

不允许使用补充字符。

编辑

提到 NinthSense:规格还说:

标识符开头的某些符号在 SQL Server 中具有特殊含义。以 at 符号开头的常规标识符始终表示局部变量或参数,不能用作任何其他类型对象的名称。

并且可以执行此语句而不会出错:

create table #t (
  #oid int ,
  äß int,
  ßdid varchar(10),
  _data varchar(10)
)
于 2009-06-05T08:59:24.280 回答