| Firebird Documentation Index → Firebird Null Guide → Internal functions and directives |
![]() |
The following built-in functions return NULL if at least one
argument is NULL:
CAST()
EXTRACT()
GEN_ID()
SUBSTRING()
UPPER()
LOWER()
BIT_LENGTH()
CHAR[ACTER]_LENGTH()
OCTET_LENGTH()
TRIM()
In 1.0.0, EXTRACT from a NULL date would
crash the server. Fixed in 1.0.2.
If the first argument to GEN_ID is a valid generator name and
the second argument is NULL, the named generator keeps its current
value.
In versions up to and including 2.0, SUBSTRING results are
sometimes returned as “false emptystrings”. These strings are in fact
NULL, but are described by the server as non-nullable. Therefore,
most clients show them as empty strings. See the bugs list for a detailed description.
The following two directives crash a Firebird 1.5.n or
lower server if given a NULL argument. In Firebird 2, they treat
NULL as the value 0:
FIRST
SKIP
This new Firebird 2 directive returns an empty set if any argument is
NULL:
ROWS
Side note: ROWS complies with the SQL standard. In new code, use ROWS, not FIRST and SKIP.
| Firebird Documentation Index → Firebird Null Guide → Internal functions and directives |