过滤查询以获取字符串,其中包含常数,然后是特殊字符



我正在与一个我面对的需求如下的项目合作我有一些场景可以检查如下数据库中的输入将是一个以恒定字符QWER开头的字符串,它可以随后以数字,字符集,甚至是像_,#等的特殊字符等。示例输入是QWER0000001,QWERD00909,QWER32_333,QWER32-333等

我只需要过滤所有包含QWER的值,然后仅在上述预期结果中以数字为单位,仅是QWER0000001 我尝试的查询如下

select c.request_Id
from TABLE c
where UPPER(c.request_Id) not like 'QWER%[A-Z]'
  and  c.request_Id  like 'QWER[0-9]%'

现在它过滤了包含特殊字符的数据。如何过滤不需要的SPL Charecter设置。

您可以将regexp_like与正则表达式使用:

SELECT *
FROM   c
WHERE  REGEXP_LIKE(request_id, '^QWER[0-9]+$');

相关内容

最新更新