我想知道在 T-SQL、MSSQL 的列名中允许使用哪些特殊字符。所以我知道我可以使用字母和数字,但其他字符是否可用不使用方括号 [] 来引用此列?
问问题
38683 次
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 回答