Was this helpful?

The following operators and data types are supported by the SQL-like query language in API BaaS.

Equality operators

Purpose Operator
Less than

'<' or 'lt'

Less than equal

'<=' or 'lte'

Equal

'=' or 'eq'

Greater than equal

'>=' or 'gte'

Greater than

'>' or 'gt'

Not equal

NOT <some_expression>

Logical operators

Purpose Operator
Intersection of results

and

Union of results

or

Subtraction of results

not

Data types

As you develop queries, remember that entity properties each conform to a particular data type. For example, in the default entity User, the name property is stored as a string, the created date as a long, and metadata is stored as a JSON object. Your queries must be data type-aware to ensure that query results are as you expect them to be.

For example, if you create an entity with a price property with a value of 100.00, querying for 100 will return no results, since the API expected a decimal-delimited float value in your query.

For a list of property data types for each default entities, see Default Data Entities.

Data Type Examples
string 'value', unicode '\uFFFF', octal '\0707'
long
1357412326021

Timestamps are typically stored as long values.

float
10.1, -10.1, 10e10, 10e-10, 10E10, 10E-10

Your query must be specific about the value you're looking for, down to the value (if any) after the decimal point.

boolean
true | false
UUID
ee912c4b-5769-11e2-924d-02e81ac5a17b
object

For a JSON object like this one:

{
 "items": [
  {
   "name": "rocks"
  },
  {
   "name": "boats"
  }
 ]
}

you can use dot notation to reach property values in the object:

/mycollection/thing?ql="select * where items.name = 'rocks'"

Objects are often used to contain entity metadata, such as the activities associated with a user, the users associated with a role, and so on.

Help or comments?

  • Something's not working: See Apigee Support
  • Something's wrong with the docs: Click Send Feedback in the lower right.
    (Incorrect? Unclear? Broken link? Typo?)