您的位置:首页技术文章
文章详情页

mysql的like模式

【字号: 日期:2023-11-30 14:20:53浏览:362作者:猪猪
导读:expr LIKE pat [ESCAPE 'escape-char'] 模式匹配,使用SQL简单正规表达式比较。返回1 (TRUE) 或 0 (FALSE)。 若 expr 或 pat 中任何一个为 NULL,则结果为 NULL。 模式不需要为文字字符串。例如,可以被指定为一个字符串表达式或表列。...
expr LIKE pat [ESCAPE 'escape-char']

模式匹配,使用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 ‘’原因是反斜线符号会被语法分析程序剥离一次,在进行模式匹配时,又会被剥离一次,最后会剩下一个反斜线符号接受匹配。

文章来源:http://apps.hi.baidu.com/share/detail/6526024

标签: MySQL 数据库
相关文章: