其实呢对于Odata来说,最常用的应该就是使用filter来查询了,但是说到查询,避免不了模糊查询,可是在filter的表达式中没有一个运算符是可以用来做模糊查询的,可能我们会想到将运算符用like替换就可以了,其实不然,这语法是不对的。那么模糊查询究竟该如何实现呢?那就是使用函数contains
1、contains
$filter=contains(Name,'Ca')
Name中包含‘Ca’的所有信息,这样就达到了模糊查询的效果,只输入其中的几个字符便可查到所有包含这几个字符的信息
拓展:不包含(not contains)
$filter=not contains(Name,'Ca')
Name中不包含‘Ca’的所有信息,与contains效果相反,是不包含
2、startswith
$filter=startswith(Name, 'Ca')
Name以Ca开头的所有信息
3、endswith
$filter=endswith(Name, 'ong')
Name以ong结尾的所有信息
4、length
$filter=length(Name) eq 8
Name中字符长度等于8的所有信息
5、indexof
$filter=indexof(Name, 'xiao') eq 1
Name从第二个字母开始包含xiao的所有信息
6、replace
$filter=replace(Name, 'C ', 'H') eq 'Ca'
Name等于Ca的信息中C被H替换
7、substring
$filter=substring(Name, 1) eq 'xiao'
Name从第二个字符开始是xiao的所有信息
$filter=substring(Name, 1, 2) eq 'ui'
Name的第二个和第三个字符是ui的所有信息
8、tolower
$filter=tolower(Name) eq 'Hong'
Name等于Hong的字符都转换为小写
9、toupper
$filter=toupper(Name) eq 'Hong'
Name等于Hong的字符都转换为大写
10、trim
$filter=length(trim(Name)) eq length(Name)
Name去调空格后依旧等于Name的所有信息