REST from your database catalog
    DocumentationCheat sheetQuestionsDownloadSource
    Questions
    • How do I...?
    Start here
    • Getting started
    • What a table becomes
    • Compared with PostgREST
    Setting up
    • Tables, columns and relations
    • Security and hooks
    • Writes and procedures
    • Prefer: return=representation
    • Node, Fastify, Express
    Reading
    • select
    • /{key}
    • relation(...)
    • order
    • limit, offset
    • relation.order, .limit
    • count
    • count(), sum(), avg()...
    • "name"
    Filtering
    • eq, neq
    • gt, gte, lt, lte
    • in
    • like, ilike
    • match, imatch
    • is
    • ov, cs, cd
    • not
    • relation.column
    • or, and
    Databases
    • Supported databases
    • Adding a database
    Reference
    • Cheat sheet
    • Errors
    Filtering

    Equal, not equal

    Keep the rows whose column equals, or differs from, a value.

    status=eq.openstatus=neq.done

    A filter is column=operator.value. Several filters on one request must all hold.

    The value is checked against the column's type before anything reaches the database: estimate=eq.abc answers invalid_value, since an estimate is a number.

    Examples

    The todos that are done.
    /todos?select=name&status=eq.done

    Asking the database...

    Two filters: not done, and pinned.
    /todos?select=name,status&status=neq.done&pinned=eq.true

    Asking the database...

    A value that cannot be a number.
    /todos?select=name&estimate=eq.abc

    Asking the database...

    A null is not equal to anything, not even to null. Use is.null to find it.

    On MySQL and SQL Server, text compares with the column's collation: with a case-insensitive one, name=eq.Work also finds work.

    See alsoNull, true, false, empty Turn a filter around One of a list
    PreviousNames that are keywordsNext Greater or less than
    restloom - a REST API generated from your database catalog
    DocumentationDownloadSource