OData query $ filtre conditions et la casse
Ne OData spécifier si les conditions de filtre sur les champs de type chaîne doivent être évaluées au cas de tact ou de cas-insensiblement?
Exemple: (à partir de la documentation)
/Suppliers?$filter=Address/City eq 'Redmond'
Est-ce devrait être sensible à la casse ou pas?
Si je veux offrir deux options, comment cela peut-il être exprimé? Il y a un tolower() fonction qui peut être utilisée comme:
/Suppliers?$filter=tolower(Address/City) eq 'redmond'
ou
/Suppliers?$filter=tolower(Address/City) eq tolower('Redmond')
N'est-il pas une manière plus concise pour exprimer la comparaison insensible à la casse?
source d'informationauteur eseib
Vous devez vous connecter pour publier un commentaire.
La "eq" de l'opérateur est censé être sensible à la casse. L'utilisation de tolower (ou toupper) est actuellement recommandé de le faire.
Je dirais que cela dépend de votre classement de base de données, le service odata est tout simplement l'exécution d'une requête.
Si Vitek la réponse est correcte, alors odata est en train de faire quelques post requête de filtrage sur le jeu de résultats, et qui devrait être étrange, non?
Il ne dépend pas de la base de données. Même si vous effectuez une requête sur la base de données en cas sensible, alors OData va faire ses propres supplémentaires de filtrage et filtrer vos données.