like
语法match_expression [ not ] like pattern [ escape escape_character ] 【程序编程相关:AITD开发笔记:VB中数组的Dim与R】
确定给定的字符串是否与指定的模式匹配.模式可以包含常规字符与通配符字符.模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配.然而,可使用字符串的任意片段匹配通配符.与使用 = 与 != 字符串比较运算符相比,使用通配符可使 like 运算符更加灵活.如果任何参数都不属于字符串数据类型,microsoft® sql server™ 会将其转换成字符串数据类型(如果可能). 【推荐阅读:j2me成功案例】
任何字符串数据类型的有效 sql server 表达式. 【扩展信息:Unix 与 Linux 管理平台 Us】 参数match_expression
pattern
match_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.
注释当使用 like 进行字符串比较时,模式字符串中的所有字符都有意义,包括起始或尾随空格.如果查询中的比较要返回包含"abc "(abc 后有一个空格)的所有行,则将不会返回包含"abc"(abc 后没有空格)的列所在行.但是可以忽略模式所要匹配的表达式中的尾随空格.如果查询中的比较要返回包含"abc"(abc 后没有空格)的所有行,则将返回以"abc"开始且具有零个或多个尾随空格的所有行.
由于数据存储方式的原因,使用包含 char 与 varchar 数据模式的字符串比较可能无法通过 like 比较.了解每种数据类型的存储方式以及导致 like 比较失败的原因十分重要.下面的示例将局部 char 变量传递给存储过程,然后使用模式匹配查找某个作者的所有著作.在此过程中,作者的姓将作为变量传递.
... 下一页