MySQL数据库的模糊查询


    数据库字段:



    查询语句:

SELECT * FROM `milk` WHERE name regexp ".{3}y+"

    查询结果:

MySQL数据库的模糊查询_第1张图片


    特殊字符:

%     零或者多个字符
_      单一任何字符(下划线)
\      特殊字符
[]     在某一范围内的字符,如[0-9]或者[aeth]
[^]  不在某范围内的字符,如[^0-9]或者[^aeth]

    后两种, 需要Oracle 10g以上使用支持like的正则regexp_like
[ ]    :    表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。


    SQLServer

使用 escape 后面紧跟着的字符来做转义字符。 escape 后面的字符相当于 C 语言字符串中的转义字符 '\'。

select 1 where '[^A-Z]ABCDE' like '\[\^A\-Z\]%' escape '\'


你可能感兴趣的:(数据库,正则表达式,sqlserver,模糊查询)