原意是查询出所有的月粒度模型,但是在oracle中,下划线也代表匹配单一任何字符,导致15分钟粒度的模型也被查询出来,在此,需要对下划线做转义,使其只表示下划线的含义,可以使用ESCAPE()函数。
escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。
修改后的SQL如下:
SELECT *
FROM DBA_TABLES
WHERE OWNER = 'IPMSDM'
AND TABLE_NAME LIKE 'DM_ISA%\_M' ESCAPE '\';
注意:此处是用\来作为转义符号,但是也可以改用其他字符,如:
SELECT *
FROM DBA_TABLES
WHERE OWNER = 'IPMSDM'
AND TABLE_NAME LIKE 'DM_ISA%$_M' ESCAPE '$';
同样能够实现上面的SQL功能。
查询结果如下: