SQL中使用ESCAPE定义转义符详解
程序员文章站
2022-03-09 11:51:01
使用escape定义转义符 在使用like关键字进行模糊查询时,“%”、“_”和“[]”单独出现时,会被认为是通配符。为了在字符数据类型的列中查询是否存在百分号 (%)、下划线(_)或者方括号([])...
使用escape定义转义符
在使用like关键字进行模糊查询时,“%”、“_”和“[]”单独出现时,会被认为是通配符。为了在字符数据类型的列中查询是否存在百分号 (%)、下划线(_)或者方括号([])字符,就需要有一种方法告诉dbms,将like判式中的这些字符看作是实际值,而不是通配符。关键字 escape允许确定一个转义字符,告诉dbms紧跟在转义字符之后的字符看作是实际值。如下面的表达式:
like '%m%' escape ‘m'
使用escape关键字定义了转义字符“m”,告诉dbms将搜索字符串“%m%”中的第二个百分符(%)作为实际值,而不是通配符。当然,第一个百分符(%)仍然被看作是通配符,因此满足该查询条件的字符串为所有以%结尾的字符串。
类似地,下面的表达式:
like 'ab&_%' escape ‘&'
此时,定义了转义字符“&”,搜索字符串中紧跟“&”之后的字符,即“_”看作是实际字符值,而不是通配符。而表达式中的“%”,仍然作 为通配符进行处理。该表达式的查询条件为以“ab_”开始的所有字符串。
通过此文希望能帮助到大家,谢谢大家对本站的支持!
上一篇: 深入理解redis分布式锁和消息队列
下一篇: SQLite教程(六):表达式详解