mysql的like模式
模式匹配,使用SQL简单正规表达式比较。返回1 (TRUE) 或 0 (FALSE)。 若 expr 或 pat 中任何一个为 NULL,则结果为 NULL。 模式不需要为文字字符串。例如,可以被指定为一个字符串表达式或表列。 在模式中可以同LIKE一起使用以下两种通配符:
mysql> SELECT 'David!' LIKE 'David_'; -> 1 mysql> SELECT 'David!' LIKE '%D%v%'; -> 1 若要对通配符的文字实例进行检验, 可将转义字符放在该字符前面。如果没有指定 ESCAPE字符, 则假设为‘\’。
mysql> SELECT 'David!' LIKE 'David\_'; -> 0 mysql> SELECT 'David_' LIKE 'David\_'; -> 1 要指定一个不同的转义字符,可使用ESCAPE语句: mysql> SELECT 'David_' LIKE 'David|_' ESCAPE '|'; -> 1 转义序列可以为空,也可以是一个字符的长度。 从 MySQL 5.1.2开始, 如若 NO_BACKSLASH_ESCAPES SQL模式被激活, 则该序列不能为空。 以下两个语句举例说明了字符串比较不区分大小写,除非其中一个操作数为二进制字符串: mysql> SELECT 'abc' LIKE 'ABC'; -> 1 mysql> SELECT 'abc' LIKE BINARY 'ABC'; -> 0 在MySQL中, LIKE 允许出现在数字表达式中。 (这是标准SQL LIKE 的延伸)。 mysql> SELECT 10 LIKE '1%'; -> 1 注释: 由于 MySQL在字符串中使用 C转义语法(例如, 用‘\n’代表一个换行字符),在LIKE字符串中,必须将用到的‘\’双写。例如, 若要查找 ‘\n’, 必须将其写成 ‘\\n’。而若要查找 ‘\’, 则必须将其写成 it as ‘\\\\’;原因是反斜线符号会被语法分析程序剥离一次,在进行模式匹配时,又会被剥离一次,最后会剩下一个反斜线符号接受匹配。 |