在字符串值的条件中使用通配符

生成包含字符串值条件的查询时,请将通配符与以下运算符一起使用:

like
not-like
begins-with
not-begin-with
ends-with
not-end-with

有关详细信息,请参阅 使用 FetchXml 查询数据

使用这些条件运算符时,可以使用某些字符来表示搜索条件中的通配符。 下表描述了可以使用的字符。

字符 Description T-SQL 文档和示例
% 匹配包含零个或多个字符的任意字符串。 可以将此通配符用作前缀或后缀。 % 通配符:要匹配的字符
_ 匹配字符串比较操作中涉及模式匹配的任何单个字符。 _ 通配符:匹配一个字符
[] 匹配在方括号之间指定的范围或集中的任何单个字符。 [ ] 通配符:要匹配的字符
[^] 匹配不在区域或方括号之间指定的任何单个字符。 [^] 通配符:不匹配的字符

搜索包含通配符的字符串

可以将通配符模式匹配字符作为文字字符使用。 若要将通配符作为文字字符使用,请将通配符放在方括号中。 有关详细信息,请参阅 将通配符用作文本

不要使用前导通配符

使用带隐式前导通配符的条件运算符(例如 ends-with,或显式前导通配符)的查询效率较低。 在某些情况下,这些通配符可能会导致整个组织的性能不佳。 有关详细信息,请参见:

这些反模式引入了性能问题,因为查询优化器无法优化查询。

请勿在使用likebegins-withnot-begin-withends-withnot-end-with的表达式中使用尾随通配符。 下面是尾随通配符的一些示例:

错误示例
<condition attribute='name' operator='like' value='%value' />
<condition attribute='name' operator='begins-with' value='%value' />
<condition attribute='name' operator='not-begins-with' value='%value' />
<condition attribute='name' operator='ends-with' value='value' />
<condition attribute='name' operator='not-ends-with' value='value' />

另见

使用 FetchXml 筛选行
使用 QueryExpression 筛选行
使用 Web API 查询数据