Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 过滤查询以获取包含常量和特殊字符的字符串?_Java_Sql_Oracle - Fatal编程技术网

Java 过滤查询以获取包含常量和特殊字符的字符串?

Java 过滤查询以获取包含常量和特殊字符的字符串?,java,sql,oracle,Java,Sql,Oracle,我正在与一个项目,其中我面临的要求如下 我有一些场景需要检查,如下所示 数据库中的输入将是一个以常量字符QWER开头的字符串,后面可以是数字、字符集,甚至是一个特殊字符,如u、#等等。 样本输入为QWER0000001、QWERD00909、QWER32_333、QWER32-333等 我只需要过滤所有包含QWER的值,后面是数字,仅在上述情况下,预期结果仅为QWER0000001 我尝试的查询如下 select c.request_Id from TABLE c where UPPER(c.r

我正在与一个项目,其中我面临的要求如下 我有一些场景需要检查,如下所示 数据库中的输入将是一个以常量字符QWER开头的字符串,后面可以是数字、字符集,甚至是一个特殊字符,如u、#等等。 样本输入为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中都能很好地分叉,可以将
regexp\u like
与正则表达式一起使用:

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

您可以将
regexp\u like
与正则表达式一起使用:

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

Oracle和SQL?您的意思可能是指和MS SQL Server?(Oracle SQL也是SQL…)Oracle和SQL都是什么?您的意思可能是指和MS SQL Server?(Oracle SQL也是SQL…)