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.

    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’.

    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