Firebird 2.5 Language ReferenceFirebird 2.5 Language ReferenceSQL Language Structure → Identifiers
Firebird Firebird Prev: Basic Elements: Statements, Clauses, KeywordsFirebird 2.5 Language ReferenceUp: SQL Language StructureNext: Literals

Identifiers

All database objects have names, often called identifiers. 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:

Rules for Regular Object Identifiers: 

Regular name syntax

<name> ::=
  <letter> | <name><letter> | <name><digit> | <name>_ | <name>$

  <letter> ::= <upper letter> | <lower letter>

  <upper letter> ::= A | B | C | D | E | F | G | H | I | J | K | L | M |
                           N | O | P | Q | R | S | T | U | V | W | X | Y | Z

  <lower letter> ::= a | b | c | d | e | f | g | h | i | j | k | l | m |
                           n | o | p | q | r | s | t | u | v | w | x | y | z

  <digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
      

Rules for Delimited Object Identifiers: 

Delimited name syntax

  <delimited name> ::= "<permitted_character>[<permitted_character> …]"
      
[Note] Note

A delimited identifier such as "FULLNAME" is the same as the regular identifiers FULLNAME, fullname, FullName, and so on. The reason is that Firebird stores all regular names 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 FULLNAME in the metadata.

Prev: Basic Elements: Statements, Clauses, KeywordsFirebird 2.5 Language ReferenceUp: SQL Language StructureNext: Literals
Firebird 2.5 Language ReferenceFirebird 2.5 Language ReferenceSQL Language Structure → Identifiers