我试图在SQL语句中使用LIKE子句来匹配Oracle中的某个模式.
我想这样做:
LIKE '[A-Z][A-Z][1-4]%'
Run Code Online (Sandbox Code Playgroud)
..但我不能使用正则表达式,因为这是在Oracle9i上(正则表达式支持10g).
我试图匹配之前有两个字符的东西,然后是1到4之间的数字以及除此之外的任何东西.我试过这个,但它似乎没有用.我能够让它工作的唯一方法是:
WHERE ...
LIKE '%1__' OR
LIKE '%2__' OR
LIKE '%3__' OR
LIKE '%4__'
Run Code Online (Sandbox Code Playgroud)
我不确定我想做的方式是否可行,或者是否正确,因为我从未尝试使用LIKE子句的模式.
您将给予的任何帮助将不胜感激.
笨重,但也许:
select *
from <your_table>
where TRANSLATE(SUBSTR(<blah>,1,3),'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234',
'AAAAAAAAAAAAAAAAAAAAAAAAAA1111') = 'AA1';
Run Code Online (Sandbox Code Playgroud)
可能适合您的需求......
编辑:@Lobo的xlnt建议翻译子字符串,而不是取翻译字符串的子字符串...