odata case-sensitive

Condiciones de filtro $ consulta OData y mayúsculas y minúsculas



case-sensitive (3)

¿Especifica OData si las condiciones de filtro en los campos de cadena deben evaluarse con distinción de mayúsculas y minúsculas?

Ejemplo: (de los documentos)

/Suppliers?$filter=Address/City eq ''Redmond''

¿Se espera que esto sea sensible a las mayúsculas o no?

Si quiero ofrecer ambas opciones, ¿cómo se puede expresar esto? Hay una función tolower () que se puede usar como:

/Suppliers?$filter=tolower(Address/City) eq ''redmond''

o

/Suppliers?$filter=tolower(Address/City) eq tolower(''Redmond'')

¿No hay una manera más concisa de expresar una correspondencia insensible a mayúsculas y minúsculas?


Espero que esto dependa de la configuración de intercalación de su base de datos, ya que el servicio de odata solo está realizando una consulta. Si la respuesta de Vitek es correcta, entonces odata está realizando un filtrado de consultas posteriores en el conjunto de resultados, y eso debería ser extraño, ¿verdad?


No depende de la base de datos. Incluso si realiza una consulta contra la base de datos de manera no sensible, OData realizará su propio filtro adicional y filtrará sus datos.


Se supone que el operador "eq" distingue entre mayúsculas y minúsculas. El uso de tolower (o toupper) es la forma actualmente recomendada de hacer esto.