企业网站一般用什么程序做,wordpress文章排行榜,微信小程序推广引流怎么做,视频直播软件哪个好确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中#xff0c;常规字符必须与字符串中指定的字符完全匹配。然而#xff0c;可使用字符串的任意片段匹配通配符。与使用 和 ! 字符串比较运算符相比#xff0c;使用通配符可使 LIKE 运… 确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中常规字符必须与字符串中指定的字符完全匹配。然而可使用字符串的任意片段匹配通配符。与使用 和 ! 字符串比较运算符相比使用通配符可使 LIKE 运算符更加灵活。如果任何参数都不属于字符串数据类型Microsoft® SQL Server™ 会将其转换成字符串数据类型如果可能。 语法 match_expression_r [ NOT ] LIKE pattern [ ESCAPE escape_character ] 参数 match_expression_r 任何字符串数据类型的有效 SQL Server 表达式。 pattern match_expression_r 中的搜索模式可以包含下列有效 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_r 匹配指定模式LIKE 将返回 TRUE。 注释 当使用 LIKE 进行字符串比较时模式字符串中的所有字符都有意义包括起始或尾随空格。如果查询中的比较要返回包含abc abc 后有一个空格的所有行则将不会返回包含abcabc 后没有空格的列所在行。但是可以忽略模式所要匹配的表达式中的尾随空格。如果查询中的比较要返回包含abcabc 后没有空格的所有行则将返回以abc开始且具有零个或多个尾随空格的所有行。 由于数据存储方式的原因使用包含 char 和 varchar 数据模式的字符串比较可能无法通过 LIKE 比较。了解每种数据类型的存储方式以及导致 LIKE 比较失败的原因十分重要。下面的示例将局部 char 变量传递给存储过程然后使用模式匹配查找某个作者的所有著作。在此过程中作者的姓将作为变量传递。 当名字中包含的字符数小于 20 时char 变量 (AU_LNAME) 将包含尾随空格这导致 find_books 过程中没有行返回。由于 au_lname 列为 varchar 类型所以没有尾随空格。因为尾随空格是有意义的所以此过程失败。 使用 LIKE 的模式匹配 当搜索 datetime 值时推荐使用 LIKE因为 datetime 项可能包含各种日期部分。例如如果将值 19981231 9:20 插入到名为 arrival_time 的列中则子句 WHERE arrival_time 9:20 将无法找到 9:20 字符串的精确匹配因为 SQL Server 将其转换为 1900 年 1 月 1 日上午 9:20。然而子句 WHERE arrival_time LIKE %9:20% 将找到匹配。 LIKE 支持 ASCII 模式匹配和 Unicode 模式匹配。当所有参数包括 match_expression_r、pattern 和 escape_character如果有都是 ASCII 字符数据类型时将执行 ASCII 模式匹配。如果其中任何参数属于 Unicode 数据类型则所有参数将被转换为 Unicode 并执行 Unicode 模式匹配。当对 Unicode 数据nchar 或 nvarchar 数据类型使用 LIKE 时尾随空格是有意义的。但是对于非 Unicode 数据尾随空格没有意义。Unicode LIKE 与 SQL-92 标准兼容。ASCII LIKE 与 SQL Server 的早期版本兼容。 使用 % 通配符 如果指定 LIKE 5%SQL Server 将搜索后面带有零个或多个任意字符的数字 5。 例如此查询将显示数据库中所有的系统表因为它们都以字母 sys 开始 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE sys% 说明 请注意系统表可以随版本不同而更改。推荐使用信息架构视图或适用的存储过程处理 SQL Server 系统表。 若要查阅非系统表的所有对象请使用 NOT LIKE sys%。如果共有 32 个对象且 LIKE 找到 13 个与模式匹配的名称则 NOT LIKE 将找到 19 个与 LIKE 模式不匹配的对象。 使用 LIKE [^s][^y][^s]% 模式不一定每次找到的名称都相同。可能仅得到 14 个名称而不是 19 个除了系统表名称外所有以 s 开始或第二个字母为 y 或第三个字母为 s 的名称也都将从结果中消除。这是因为用反向通配符匹配字符串是分步骤进行计算的一次一个通配符。如果在计算过程中任一环节匹配失败那么就会将其消除。 转载于:https://www.cnblogs.com/xtwkh1973/p/10990568.html