不带引号的标识符

不带引号的标识符可以使用字母(a-z),数字(0-9)和下划线(_),并且必须以字母开头。

根据 SQL 实现和/或数据库设置,可以允许其他字符,有些甚至作为第一个字符,例如

  • MS SQL:@$# 和其他 Unicode 字母 来源
  • MySQL:$ 来源
  • Oracle:$# 和来自数据库字符集的其他字母 来源
  • PostgreSQL:$ 和其他 Unicode 字母 来源

不带引号的标识符不区分大小写。如何处理这在很大程度上取决于 SQL 实现:

  • MS SQL:保留大小写,由数据库字符集定义的灵敏度,因此可以区分大小写。

  • MySQL:保留大小写,灵敏度取决于数据库设置和底层文件系统。

  • Oracle:转换为大写,然后像带引号的标识符一样处理。

  • PostgreSQL:转换为小写,然后像带引号的标识符一样处理。

  • SQLite:保留案例; 仅对 ASCII 字符不区分大小写。