不带引号的标识符
不带引号的标识符可以使用字母(a
-z
),数字(0
-9
)和下划线(_
),并且必须以字母开头。
根据 SQL 实现和/或数据库设置,可以允许其他字符,有些甚至作为第一个字符,例如
- MS SQL:
@
,$
,#
和其他 Unicode 字母 ( 来源 ) - MySQL:
$
( 来源 ) - Oracle:
$
,#
和来自数据库字符集的其他字母 ( 来源 ) - PostgreSQL:
$
和其他 Unicode 字母 ( 来源 )
不带引号的标识符不区分大小写。如何处理这在很大程度上取决于 SQL 实现:
-
MS SQL:保留大小写,由数据库字符集定义的灵敏度,因此可以区分大小写。
-
MySQL:保留大小写,灵敏度取决于数据库设置和底层文件系统。
-
Oracle:转换为大写,然后像带引号的标识符一样处理。
-
PostgreSQL:转换为小写,然后像带引号的标识符一样处理。
-
SQLite:保留案例; 仅对 ASCII 字符不区分大小写。