Note

    It is possible to restrict the actual maximum identifier length through configuration. Consult the Firebird 4.0 Release Notes for details. In this language reference we assume the default configuration of 63 characters (252 bytes).

    Two types of names are valid as identifiers: regular names, similar to variable names in regular programming languages, and delimited names that are specific to SQL. To be valid, each type of identifier must conform to a set of rules, as follows:

    • Length cannot exceed 63 characters

    Regular name syntax

    2.3.2 Rules for Delimited Object Identifiers

    • Length cannot exceed 63 characters in character set UTF8 (252 bytes). Identifiers are stored in character set , which means characters outside the ASCII range are stored using 2 to 4 bytes.

    • The entire string must be enclosed in double-quotes, e.g. "anIdentifier"

    • It may contain any character from the UTF8 character set, including accented characters, spaces and special characters

    • Delimited identifiers are case-sensitive in all contexts

    • Trailing spaces in delimited names are removed, as with any string constant

    • Delimited identifiers are available in Dialect 3 only. For more details on dialects, see Section 2.1.2, SQL Dialects

    Delimited name syntax

    A delimited identifier such as is the same as the regular identifiers FULLNAME, fullname, , and so on. The reason is that Firebird stores regular identifiers in upper case, regardless of how they were defined or declared. Delimited identifiers are always stored according to the exact case of their definition or declaration. Thus, "FullName" (quoted) is different from FullName (unquoted, i.e. regular) which is stored as in the metadata.