Saltar al contenido principal

Filtros

Algunos métodos de las APIs contienen parámetros como filter o orderBy con los que delimitar el conjunto de datos sobre los que operar.

La sintaxis a utilizar en estos casos es el estándar OData. Los nombres de los campos referenciados en estos parámetros son sensibles a letras mayúsculas y minúsculas. A continuación, se detalla los conectores básicos de esta sintaxis.

Expresiones comunes

ExpresiónDescripciónEjemplo
eqIgual a?filter=id eq 1
Devuelve datos cuyo campo id sea igual a 1
neNo igual a?filter=id ne 5
Devuelve datos cuyo campo id sea diferente a 5

Expresiones lógicas

ExpresiónDescripciónEjemplo
andY?filter=id eq 1 and name eq 'jose'
Devuelve datos cuyo campo id sea igual a 1 y el campo name sea igual a 'jose'
orO?filter=id eq 1 or id eq 2
Devuelve datos cuyo campo id sea igual a 1 o 2
notNo?filter=not id eq 1
Devuelve datos cuyo campo id no sea igual a 1

Expresiones para operaciones con números

ExpresiónDescripciónEjemplo
ltMenor que?filter=id lt 5
Devuelve datos cuyo campo id tiene un valor menor a 5
gtMayor que?filter=id gt 5
Devuelve datos cuyo campo id tiene un valor mayor a 5
geMayor o igual que?filter=id ge 5
Devuelve datos cuyo campo id tiene un valor mayor o igual a 5
leMenor o igual que?filter=id le 5
Devuelve datos cuyo campo id tiene un valor menor o igual a 5
Rango de selección?filter=id gt 5 and id lt 10
/Devuelve datos cuyo campo id tiene un valor entre 6 y 9

Expresiones para operaciones con textos

ExpresiónDescripciónEjemplo
startswithEmpieza por?filter=startswith(name, 'José')
?filter=startswith(name, 'José') eq true
Devuelve datos cuyo campo name comienza por 'José'
endswithAcaba en?filter=endswith(name, 'García')
?filter=endswith(name, 'García') eq true
Devuelve datos cuyo campo name acaba en 'García'
containsContiene?filter=contains(name, 'Francisco')
?filter=contains(name, 'Francisco') eq true
Devuelve datos cuyo campo name contiene el texto Francisco

Expresiones para operaciones con fechas

ExpresiónDescripciónEjemplo
dayDía de la fecha?filter=day(dropdate, 15)
Devuelve datos cuyo campo dropdate sea del día 15
monthMes de la fecha?filter=month(dropdate, 3)
Devuelve datos cuyo campo dropdate sea del mes 3
yearAño de la fecha?filter=year(dropdate, 2020)
Devuelve datos cuyo campo dropdate sea del año 2020
Atención
  • Los valores de texto se han de delimitar por comillas simples
  • Los valores numéricos no es necesario delimitarlos
  • Los valores de fecha deben indicarse en el formato: aaaa-mm-dd

Ejemplo

companyNumberCode eq 258 and (dropDate eq null or dropDate ge 2001-02-28)

Devuelve los trabajadores cuya empresa (companyNumberCode) sea la 258 y que hayan trabajado en ella desde la fecha 28/02/2001 (dropDate es la fecha de baja del trabajador)