Literal values include strings, numbers, TRUE, FALSE, NULL, and MISSING.
N1QL supports the same literals as JSON, as defined by json.org, with these exceptions:
- In N1QL, "true", "false," and "null" are case-insensitive to be consistent with other N1QL keywords. In standard JSON, "true", "false," and "null" are case-sensitive.
- "missing" is added as a literal expression, although it is not returned in final results. Missing is omitted from objects, and is converted to null in result arrays.
- In N1QL single and double quotation marks can be used for strings. JSON supports only double quotation marks.
Wherever a value is expected, either of two special values may appear: NULL (denoting an out-of-band value that is not comparable to any other value), and MISSING (denoting the absence of a value). Every value also has a "truth" value, these truth value conversions are explained in Boolean Logic.
The following query returns emails from contacts where the contact name is ‘dave’.
SELECT email FROM contacts AS contact WHERE contact.name = 'dave'
TRUE | FALSE
Boolean propositions evaluate to TRUE and FALSE. These values are case-insensitive.
[-] [ digits] [fraction] [exponent]
e | E [ + | - ] digits
Numbers can be either signed or unsigned digits with an optional fractional component and an optional exponent. The numbers should not start with a zero.
" characters "
Strings can be either Unicode characters or escaped characters.
Unicode Character or an Backslash Escape character
\ ( \ | / | b | f | n | r | t | u hex-digit hex-digit hex-digit hex-digit )
The literal NULL represents an empty value.
The MISSING literal is specific to N1QL and represents a missing name-value pair in a document.