sql没有正则表达式,只能使用like
语法 match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ] 参数 match_expression 任何字符串数据类型的有效 SQL Server 表达式。 patternmatch_expression 中的搜索模式,可以包含下列有效 SQL Server 通配符
1 % 包含零个或更多字符的任意字符串 示例:WHERE title LIKE '%computer% ' 将查找处于书名任意位置的包含单词 computer 的所有书名。 2 _(下划线) 任何单个字符 示例:WHERE au_fname LIKE '_ean ' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。 3 [] 指定范围中的任何单个字符 示例:WHERE au_lname LIKE '[C-P]arsen ' 将查找以arsen 结尾且以介于 C 与 P 之间的任何单个字符开始的 作者姓氏,例如,Carsen、Larsen、Karsen 等 4 [^] 不属于指定范围中的任何单个字符,与 [] 相反 示例:WHERE au_lname LIKE 'de[^l]% ' 将查找以 de 开始且其后的字母不为 l 的所有作者的姓氏。
三 使用escape字句的模式匹配 可搜索包含一个或多个特殊通配符的字符串。例如,customers 数据库中的 discounts 表可能存储含百分号 (%) 的折扣值。若要搜索作为字符而不是通配符的百分号,必须提供 ESCAPE 关键字和转义符。例如,一个样本数据库包含名为 comment 的列,该列含文本 30%。若要搜索在 comment 列中的任何位置包含字符串 30% 的任何行,请指定由 WHERE comment LIKE '%30!%% ' ESCAPE '! ' 组成的 WHERE 子句。如果不指定 ESCAPE 和转义符,SQL Server 将返回所有含字符串 30 的行。
四 匹配双引号
可以使用单引号在外层