• 1.摘要
  • 2.基本内容
  • 3.语法
  • 4.参数

like

5
计算机数据库函数

基本内容

确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。然而,可使用字符串的任意片段匹配通配符。与使用 = 和 != 字符串比较运算符相比,使用通配符可使 like 运算符更加灵活。如果任何参数都不属于字符串数据类型,microsoft® sql server™ 会将其转换成字符串数据类型(如果可能)。

语法

match_expression [ not ] like pattern [ escape escape_character ]

参数

match_expression

任何字符串数据类型的有效 sql server表达式。

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 的所有作者的姓氏。

like语句注意

在mssql中实用like时候,处理大数据量要注意,因为在查询时候like语句的使用不当将会查询语句效率低下,如:select * from tablename where cola like '%computer%' 这样的查询将会使表的索引失效,那么查询百万以上的数据时候就有可能花上10秒以上的时间,用好 like确实要深入,如select * from tablename where cola like 'computer%'这条语句就不同,索引依然有效, 一个开头%(通配符)影响了整个查询效率,