(干货)DB2中关于百分号%的转义处理问题
网上有很多关于DB2转义字符的说明,不过都不是拿来就可以用的。周围的同时遇到
这个问题了,然后去网上查了以后,还是解决不了,我很纳闷。于是我也去搜了一下,果
然,网上的说法基本上都是这种:
然而,我们通常都是从前端页面传递过来一个参数,那么怎么在百分号前面加上这个
转义的标志呢?想想其实也简单,用下面的写法就可以轻松搞定,mark一下,好记性不如
烂笔头:
网上有很多关于DB2转义字符的说明,不过都不是拿来就可以用的。周围的同时遇到
这个问题了,然后去网上查了以后,还是解决不了,我很纳闷。于是我也去搜了一下,果
然,网上的说法基本上都是这种:
select * from table where name like '%\%%' escape '\';
然而,我们通常都是从前端页面传递过来一个参数,那么怎么在百分号前面加上这个
转义的标志呢?想想其实也简单,用下面的写法就可以轻松搞定,mark一下,好记性不如
烂笔头:
select * from table where name like concat(concat('%', replace(#name#, '%', '\%')), '%') escape '\';
如有疑问,欢迎留言交流。
《客至 · 杜甫》
舍南舍北皆春水,但见群鸥日日来。
花径不曾缘客扫,蓬门今始为君开。
盘飧市远无兼味,樽酒家贫只旧醅。
肯与邻翁相对饮,隔篱呼取尽余杯。