Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
在Oracle过程中搜索多个文本字符串_Oracle - Fatal编程技术网

在Oracle过程中搜索多个文本字符串

在Oracle过程中搜索多个文本字符串,oracle,Oracle,我试图在一个存储过程中创建多个文本字符串的单一搜索。下面的代码适用于test1,但当我同时尝试test1和test2时,没有得到任何结果;也没有错误 测试2的线路现在已标记出来 SELECT name, line, text FROM user_source WHERE type = 'PROCEDURE' AND UPPER(text) LIKE UPPER('%test1%') -- AND TEXT LIKE UPPER('%test2%') ORDER BY NAME;

我试图在一个存储过程中创建多个文本字符串的单一搜索。下面的代码适用于test1,但当我同时尝试test1和test2时,没有得到任何结果;也没有错误

测试2的线路现在已标记出来

SELECT name, line, text 
FROM   user_source
WHERE  type = 'PROCEDURE' 
AND    UPPER(text) LIKE UPPER('%test1%')
-- AND TEXT LIKE UPPER('%test2%') 
ORDER BY NAME;
我做错了什么?

最后一行缺少上部(文本)。应该是:

SELECT name, line, text 
FROM   user_source
WHERE  type = 'PROCEDURE' 
AND UPPER(text) LIKE UPPER('%test1%')
AND UPPER(TEXT) LIKE UPPER('%test2%') 

使用
,因为如果使用
两个字符串,则只有在找到这两个字符串时才会显示为正数。也许你也错过了上面的文字


可能没有一行同时包含“text1”和“text2”字符串。在这种情况下,您必须使用OR

SELECT NAME, LINE, TEXT 
FROM   USER_SOURCE
WHERE  TYPE = 'PROCEDURE' 
AND (UPPER(TEXT) LIKE UPPER('%TEST1%')
  OR UPPER(TEXT) LIKE UPPER('%TEST2%'))       
我猜你的意思是
SELECT NAME, LINE, TEXT 
FROM   USER_SOURCE
WHERE  TYPE = 'PROCEDURE' 
AND (UPPER(TEXT) LIKE UPPER('%TEST1%')
  OR UPPER(TEXT) LIKE UPPER('%TEST2%'))