卡住了
select *
from table a
where ID like 'delr' || trim(substr(busns_asct_id,5)) || '%';
根据以上查询,我得到的记录如" delr112591-8218-1"但是我需要消除ID,例如" delr60201-T,delr99999-A"和" delr1 -5"
如何消除这种情况?
答案 0 :(得分:0)
这是如何处理Oracle中的LIKE:
_
恰好匹配一个字符%
可以匹配零个或多个字符ESCAPE '\'
以_
或%
转义您想要的任何字符,我在这里使用了\
要匹配delr112591-8218-1
,您可以使用
like 'delr' || trim(substr(busns_asct_id,5)) || '-____-_';
通过将_
替换为任何其他字符而获得的任何其他字符串都将匹配,因此“delr60201-T”,“delr99999-A”和“delr1 -5”将不匹配,如果您想要更准确的内容,你必须使用REGEX。
答案 1 :(得分:0)
select *
from table a
where ID like 'delr' || trim(substr(busns_asct_id,5)) || '-_' or ID like 'delr_-_;