【问题标题】:Filtering the Query to get string containing a constant followed by special character?过滤查询以获取包含常量后跟特殊字符的字符串?
【发布时间】:2018-03-27 15:53:48
【问题描述】:

我正在处理一个项目,我面临的要求如下 我有一些情况要检查如下 数据库中的输入将是一个字符串,以常量字符 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 字符集。期望在 oracle 和 sql 中都可以正常分叉的查询

【问题讨论】:

  • Oracle 和 SQL?你的意思可能是和 MS SQL Server? (Oracle SQL 也是 SQL...)

标签: java sql oracle


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 2011-02-19
    • 2020-12-25
    • 2010-12-20
    • 2021-02-19
    • 2013-06-05
    • 1970-01-01
    相关资源
    最近更新 更多