MySQL 学习三 关于转义
DB2 LIKE谓词查询语句中支持 百分号(%)、下划线(_)的使用,不支持方括号([])(注:它会把方括号当成实际的值而非通配符),当我们需要在LIKE 查询条件中将百分号(%)、下划线(_)作为实际值进行查询时,就需要使用转义字符告诉DB2把它们当做是实际值而非转义字符。然而,DB2中并非定义了转义字符(反斜杠\在DB2中并非转义字符),所以需要使用ESCAPE关键字来定义,LIKE '%!%' ESCAPE '!'。
值得注意的是,对于单引号的处理与百分号(%)、下划线(_)的处理有点不一样,对于单引号来说,只能使用单引号进行转义,例如:LIKE '''A%',这个就是匹配以字符串 "'A"开头的字符串
百分号(%)转义:
select * from table where col1 like '%/%%' escape '/'
这个语句的意思就是:查找出col1中包含 了百分号(%)字符的记录。其中escape定义了转义字符"/"
下划线(_)转义:
select * from table where col1 like '%!_%' escape '!'
这个语句的意思就是:查找出col1中包含 了下划线(_)字符的记录。其中escape定义了转义字符"!"
单引号的转义:
select * from table where col1 like '%''%'
这个语句的意思就是:查找出col1中包含 了单引号字符的记录