数据库(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\_%';

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM