sql like 对特殊字符的处理

SQL Server查询过程中,单引号 ' 是特殊字符,所以在查询的时候要转换成双单引号 '' 。

在like操作还有以下特殊字符:下划线_,百分号%,方括号[],尖号^。

其用途如下:

下划线:用于代替一个任意字符(相当于正则表达式中的 ? )

百分号:用于代替任意数目的任意字符(相当于正则表达式中的 * )

方括号:用于转义(事实上只有左方括号用于转义,右方括号使用最近优先原则匹配最近的左方括号)

尖号:用于排除一些字符进行匹配(这个与正则表达式中的一样)

以下是一些匹配的举例,需要说明的是,只有like操作才有这些特殊字符,=操作是没有的。

a_b...        a[_]b%

a%b...       a[%]b%

a[b...       a[[]b%

a]b...       a]b%

a[]b...      a[[]]b%

a[^]b...     a[[][^]]b%

a[^^]b...    a[[][^][^]]b%


1.使用escape转义字符,escape是将后面的字符指定为转义字符,可用任意字符来做转义字符
    like '%\_%' escape '\'
    like '%|_%' escape '|'

例:select distinct customercode from ts_task t where  t.queuecode like 'EPICC\_CAR\_XB\_TB\_%' escape '\'

你可能感兴趣的:(oracle)