Literals
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'
{"email": "dave@gmail.com"}
Booleans
TRUE | FALSE
Boolean propositions evaluate to TRUE and FALSE. These values are case-insensitive.
Numbers
[-] [ digits] [fraction] [exponent]
Fraction:
. digits
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.