使用条件仅获取 fetchXml Dynamics CRM 查询中具有非数字值的记录

Use condition to get only records with non-numbers values in a fetchXml Dynamics CRM query

我正在使用 fetchXML 查询 Dynamics CRM。 我有一个具有属性 (placeName) 的实体,其中它的值是字符串或数字值。 我希望有条件只选择具有非数字值的记录。 我没有在动态文档中找到任何解决方案,但也许有一个使用 "out-of-the-box"(自定义条件)的解决方案。 这是我当前的提取查询:

<fetch mapping="logical" distinct="true" version="1.0">
  <entity name="locations">
    <attribute name="placeID" />
    <attribute name="placeName" /> // This can be values like "home" or 100 - I would like to take out only those which are not a number
  </entity>

虽然我无法在任何地方找到它的文档,但您可以使用具有正则表达式语法的 like 运算符。

例如,以下查询将检索 systemuser 只包含数字的记录 domainname:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
   <entity name="systemuser">
      <condition attribute="domainname" operator="like" value="%[0-9]%" />
   </entity>
</fetch>

在您的情况下,以下将仅检索包含字母 a-z 或 A-Z 的记录:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
   <entity name="locations">
      <condition attribute="placeName" operator="not-like" value="%[0-9]%" />
   </entity>
</fetch>