一、问题的引出
今天进行数据查询时,想从SQL结果中过滤掉ID以“_1”结尾的数据,结果查询结果非常不正确,忽然觉得,是不是SQL中也有转义字符的概念,开始了google。
初次查询时候的语句如下:
select * from table t where t.id not like '%_1';
二、SQL中转义字符的使用
和java一样,sql中使用到的特殊字符也要做转义处理,具体使用方法如下:
select * from table t where t.id not like '%\_1'escape '\';
或者
select * from table t where t.id not like '%u_1'escape 'u';
或者
select * from table t where t.id not like '%!_1' escape '!';
或者
......
看出来了吗,SQL转义的要点在于escape 关键字,要使用 escape 自定义转义字符。