A newer version of this documentation is available.

View Latest

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.

The following query returns emails from contacts where the contact name is ‘dave’.

Query:
SELECT email
   FROM contacts
   AS contact
   WHERE contact.name = 'dave'
Result:
{   "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.

Strings

"  characters  "

Strings can be either Unicode characters or escaped characters.

Characters:
Unicode Character or an Backslash Escape character
Backslash Escaped characters:
\  ( \ | / | b | f | n | r | t | u hex-digit hex-digit hex-digit hex-digit )

NULL

The literal NULL represents an empty value.

NULL

MISSING

The MISSING literal is specific to N1QL and represents a missing name-value pair in a document.

MISSING