比如,我有一个SQL数据字段STR,其记录有abc0012678,abc0112678,abc0212680等记录。
用newRow[0] = ds.Tables[0].Select("STR like 'abc__12678%'");来实现将记录abc后为任意两字节的记录筛选出来,但用下划线__在此不能替换单字节,所以无法将符合的记录abc0012678和abc0112678寻出。
请问在这种情况下,以什么符号来代表单字节?求高手指点一二,或者给出解决办法,一定给分。

解决方案 »

  1.   

    通配符 描述 示例 
    % 包含零个或更多字符的任意字符串。 WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名。 
    _(下划线) 任何单个字符。 WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。 
    [ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。 WHERE au_lname LIKE '[C-P]arsen' 将查找以arsen 结尾且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如,Carsen、Larsen、Karsen 等。 
    [^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。 WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始且其后的字母不为 l 的所有作者的姓氏。 
      

  2.   

    是不是在ds.Tables[0].Select()方法中,不能使用_(下划线)来代表单字符?
    请各位给个解决答案!!
      

  3.   

    可以在string 的开始和结尾使用%或*,如:
    strFilter = "State LIKE 'New %'"
    ADO.NET不能使用单字母通配符‘?’、‘_’等。
      

  4.   

    难道在ADO.NET中,想用单字通配符是不可能的?