Unquoted identifiers can use letters (a
-z
), digits (0
-9
), and underscore (_
), and must start with a letter.
Depending on SQL implementation, and/or database settings, other characters may be allowed, some even as the first character, e.g.
@
, $
, #
, and other Unicode letters (source)$
(source)$
, #
, and other letters from database character set (source)$
, and other Unicode letters (source)Unquoted identifiers are case-insensitive. How this is handled depends greatly on SQL implementation:
MS SQL: Case-preserving, sensitivity defined by database character set, so can be case-sensitive.
MySQL: Case-preserving, sensitivity depends on database setting and underlying file system.
Oracle: Converted to uppercase, then handled like quoted identifier.
PostgreSQL: Converted to lowercase, then handled like quoted identifier.
SQLite: Case-preserving; case insensitivity only for ASCII characters.