4.1.8. Requêtes natives pour les connexions OData

Il est possible de paramétrer le nœud source avec une requête native plutôt que de récupérer une table entière.

image81

Au lieu de cliquer sur le bouton Sélectionner pour choisir une collection OData, cliquer sur le bouton Requête OData image82.

image83

Pour créer la requête :

  1. Sélectionner la collection image84.

  2. Saisir une liste de colonnes séparées par des virgules image85. Cliquer sur le bouton pour ajouter des colonnes sélectionnées depuis la liste de gauche. Laisser la zone de texte vide pour sélectionner toutes les colonnes.

  3. Saisir un filtre OData image86 pour sélectionner un sous-ensemble de lignes. Laisser la zone de texte vide pour sélectionner toutes les lignes.

La requête sera exécutée directement par le serveur OData afin d’obtenir les meilleures performances.

OData v4 : Syntaxe des filtres

OData vous permet d’appliquer des filtres afin d’extraire un sous-ensemble d’éléments d’une collection. Par exemple: Nom eq 'John'.

1 - Saisie des valeurs d’attribut

Ce tableau décrit comment saisir des valeurs pour différents types d’attributs:

Type

Comment saisir

Chaîne de caractère et énumération

Entre guillemets simple (par exemple, “John”)

Date et heure

Pour OData 4: une valeur brute (par exemple, 2022-03-18T23:59:59Z ou 2022-03-18T23:59:59.999Z)

Autre

Valeur brute (par exemple, 15)

2 - Opérateurs de comparaison

OData v4 prend en charge les opérateurs de comparaison suivants :

Opérateurs

Signification

Exemple

eq

égal

Nom eq 'John'

ne

n’est pas égal

Nom ne 'John'

gt

supérieur à

Age gt 15

lt

inférieur à

Age lt 15

ge

supérieur ou égal

Age ge 15

le

inférieur ou égal

Age le 15

3 - Operateurs d’arithmétique

Opérateur

Signification

Exemple

Résultats

add

additionner

Prix add 2 eq 10

Tous les produits au prix de 8

sub

soustraire

Prix sub 2 eq 10

Tous les produits au prix de 12

mul

multiplier

Prix mul 2 eq 10

Tous les produits au prix de 5

div

diviser

Prix div 2 eq 10

Tous les produits au prix de 20

mod

modulo

Prix mod 5 eq 0

Tous les produits avec un prix divisible par 5

4 - Fonctions

Fonction

Exemple

Résultats

contains

contains(Nom, 'f')

Toutes les personnes dont le nom contient un “f”

startswith

startswith(Nom, 'f')

Toutes les personnes dont le nom commence par un “f”

endswith

endswith(Nom, 'f')

Toutes les personnes dont le nom se termine par un “f”

length

length(Nom) eq 5

Toutes les personnes avec nom d’une longueur de 5 caractères

year

year(DateDeNaissance) eq 1990

Toutes les personnes nées en 1990

month

month(DateDeNaissance) eq 5

Toutes les personnes nées en Mai

day

day(DateDeNaissance) eq 31

Toutes les personnes nées le 31e jour du mois

hour

hour(Inscription) eq 13

Toutes les personnes qui se sont inscrites entre 13h00 et 13h59

minute

minute(Inscription) eq 55

Toutes les personnes qui se sont inscrites à la 55e minute de n’importe quelle heure

second

second(Inscription) eq 55

Toutes les personnes qui se sont inscrites à la 55e seconde de n’importe quelle minute de n’importe quelle heure

5 - Combinaison de filtres

Les filtres peuvent être combinés avec: and, or, not, (). Par exemple: Nom eq 'John' and (Age gt 65 or Age lt 11).

Combinaison

Exemple

and

Nom eq 'John' and Age gt 65

or

Age gt 65 or Age lt 11

not

not(Nom eq 'John')

( )

Nom eq 'John' and (Age gt 65 or Age lt 11)