数据库(Oracle)中模糊匹配查询“_”的使用

数据库(Oracle)中中模糊匹配查询“_”不是单纯的表示下划线的意思,表示匹配单一任何字符,如果"_"用作匹配符需要使用""进行转义

下面的SQL语句会 得不到期望的结果;

SELECT * FROM procedures_v WHERE database_name
IN ('zb_dwa','zba_dwa','zba_dwd','zb_dwd','zb_ods','zba_ods')
AND procedure_name LIKE '%_d_%';

下面的SQL语句会得到期望的结果;

SELECT * FROM procedures_v WHERE database_name
IN ('zb_dwa','zba_dwa','zba_dwd','zb_dwd','zb_ods','zba_ods')
AND procedure_name LIKE '%\_d\_%';

原因在于使用"_"作为匹配符时需要进行转义;

原文地址:https://www.cnblogs.com/songyuejie/p/11338816.html