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