有一个SQL2008的数据库,根据一个字段搜索信息
现有字段是这样的格式:NUREG0383Vol2Rev1
数据库里的字段可能是:NURE-G0\383*Vol2/Rev.1 或者其他的组合形式,并没有提供这些组合的规则或者意义,需要怎么做才能从数据库里找出尽量匹配的数据,麻烦各位大大~

解决方案 »

  1.   

    使用like 运算符,确定给定的字符串是否与指定的模式匹配。语法
    match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ] 参数
    match_expression任何字符串数据类型的有效 SQL Server 表达式。patternmatch_expression 中的搜索模式,可以包含下列有效 SQL Server 通配符。通配符 描述 示例 
    % 包含零个或更多字符的任意字符串。 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 的所有作者的姓氏。 
    escape_character字符串数据类型分类中的所有数据类型的任何有效 SQL Server 表达式。escape_character 没有默认值,且必须仅包含一个字符。结果类型
    Boolean结果值
    如果 match_expression 匹配指定模式,LIKE 将返回 TRUE。通配符 描述 示例 
    %  包含零个或更多字符的任意字符串。 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.   

    你打开Sql Server的帮助,上面有详细例子
      

  3.   

    LINQ 技术 楼主去MSDN 了解些,比较适合没有T- SQL基础的人 
      

  4.   

    符号不是很有规律,如果有的话就replace掉再对比