SharePoint+oData中区分大小写的不一致



我正在使用jQuery从SharePoint 2010的listData.svc中获取信息。我注意到我的查询中在区分大小写方面存在一些不一致:

  • 以下命令区分大小写:

    &filter=子字符串('String',property)eq True

  • 以下命令不区分大小写

    &filter=子字符串(tolower('String'),tolower(property))eq True

  • 以下命令也不区分大小写,但要短得多:

    &filter=的子字符串('String',属性)或子字符串('String',属性2)

  • 但是,当一个部分使用两级以上的属性时,使用short方法对整个过滤器的大小写不敏感将丢失。因此,在以下命令中,整个过滤器再次区分大小写:

    &filter=的子字符串('String',property/property/property)或子字符串('sString',property2)

这是SharePoint服务的问题吗?还是我只是做错了什么?

这似乎是ListData.svc.中的一个错误

如果比较(在一天结束时委托给SQL server)在任何查询中都区分大小写,那么它们应该始终区分大小写。

很明显,无论大小写是否匹配,tolower调用都会使事情匹配,所以我们可以忽略这一点。然而,我不知道为什么在另一处房产上做OR会奏效。

这可能是SharePoint中的一个错误,也可能是您无意中选择了一个or子句,该子句意外返回了您期望的数据。

最新更新