代码之家  ›  专栏  ›  技术社区  ›  JL. Hans Passant

SharePoint:如何使用caml查询检查空值?

  •  23
  • JL. Hans Passant  · 技术社区  · 15 年前

    我有这个凸轮:

    query.Query = @"<Where><Eq><FieldRef Name='MessageID' /><Value Type='Text'></Value></Eq></Where>";
    

    这将检查messageid=string.empty()的值是否

    我要检查的是空的……非空字符串…

    这可以用凸轮轴吗?

    3 回复  |  直到 6 年前
        1
  •  49
  •   Colin    15 年前

    caml具有isNull运算符,因此查询将为:

    query.Query = @"<Where><IsNull><FieldRef Name='MessageID' /></IsNull></Where>"
    
        2
  •  23
  •   Echilon Mafarnakus    12 年前

    需要等价于 String.IsNullOrEmpty(Description) . 结果是:

    <And>
      <IsNotNull>  
        <FieldRef Name='Description' />   
      </IsNotNull>  
      <Neq>  
        <FieldRef Name='Description' />  
        <Value Type='Text'></Value>  
      </Neq>
    </And>
    
        3
  •  9
  •   Douglas Ashutosh Singh-MVP SharePoint    11 年前

    同意科林的观点,更常用的情况如下:

    1. Null:
    <Where><IsNull><FieldRef Name="CustomField" /></IsNull></Where>
    2. Not Null:
    <Where><IsNotNull><FieldRef Name="CustomField" /></IsNotNull></Where>
    3. Equal:
    <Where><Eq><FieldRef Name="CustomField" /><Value Type="Text">MatchValue</Value></Eq></Where>
    4. Not Equal:
    <Where><Neq><FieldRef Name="CustomField" /><Value Type="Text">MatchValue</Value></Neq></Where>
    5. Greater Than:
    <Where><Gt><FieldRef Name="CustomField" /><Value Type="Text">1</Value></Gt></Where>
    6. Greater Than And Equal:
    <Where><Geq><FieldRef Name="CustomField" /><Value Type="Text">1</Value></Geq></Where>
    7. Lower Than:
    <Where><Lt><FieldRef Name="CustomField" /><Value Type="Text">1</Value></Lt></Where>
    8. Lower Than And Equal:
    <Where><Leq><FieldRef Name="CustomField" /><Value Type="Text">1</Value></Leq></Where>
    9 Begin With:
    <Where><BeginsWith><FieldRef Name="CustomField" /><Value Type="Text">StartString</Value></BeginsWith></Where>
    10: Contains:
    <Where><Contains><FieldRef Name="CustomField" /><Value Type="Text">ContainString</Value></Contains></Where>
    

    注释 :更多信息,请访问: http://msdn.microsoft.com/en-us/library/ms467521.aspx 有完整的caml查询模式。

    希望这能帮到你~