T-SQL 列名中允许使用哪些特殊字符?

发布于 2024-07-22 07:56:01 字数 85 浏览 5 评论 0原文

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

I would like to know what special characters are allowed to be used in column name in T-SQL, MSSQL. So I know I can use letters and numbers, but are the other characters that are available without using brackets [] to refer to this column?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

厌味 2024-07-29 07:56:01

来自 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)
)

from MSDN:

The first character must be one of the following:

  • A letter as defined by the Unicode Standard 3.2. The Unicode definition of letters includes Latin characters from a through z, from A through Z, and also letter characters from other languages.
  • The underscore (_), at sign (@), or number sign (#).

Subsequent characters can include the following:

  • Letters as defined in the Unicode Standard 3.2.
  • Decimal numbers from either Basic Latin or other national scripts.
  • The at sign, dollar sign ($), number sign, or underscore.

The identifier must not be a Transact-SQL reserved word. SQL Server reserves both the uppercase and lowercase versions of reserved words.

Embedded spaces or special characters are not allowed.

Supplementary characters are not allowed.

edit

refering to NinthSense: the specs also says:

Certain symbols at the beginning of an identifier have special meaning in SQL Server. A regular identifier that starts with the at sign always denotes a local variable or parameter and cannot be used as the name of any other type of object.

and this statement can be executed without errors:

create table #t (
  #oid int ,
  äß int,
  ßdid varchar(10),
  _data varchar(10)
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文