原意是查詢出所有的月粒度模型,但是在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功能。
查詢結果如下: