Oracle:在列中选择按文本记录

时间:2013-03-06 08:52:18

标签: sql oracle

以下结构:

  

Application1X,Application2X,Application3Y,仪表板

目标:获取所有记录:

  • Application1X和Dashboard在String
  • 其中Application2X在String
  • NOT

我尝试过:

    SELECT * FROM APPS WHERE APPLIST LIKE '%Application1X%' 
AND APPLIST LIKE '%Dashboard%' AND APPLIST NOT LIKE '%Application2X%';

但结果是错误的,我认为这是“LIKE”搜索的问题。有没有更好的方法来执行此查询没有更改表结构?

2 个答案:

答案 0 :(得分:1)

我想知道上面的语句在Oracle中如何工作而不提供列名 只需包含APPLIST NOT LIKE'%Application2X%';

SELECT * FROM APPS WHERE APPLIST LIKE '%Application1X%' 
AND APPLIST LIKE '%Dashboard%' AND APPLIST NOT LIKE '%Application2X%';

答案 1 :(得分:0)

我必须自己回答这个问题。

出现了逻辑上的失败:此列中没有“TEXT”的Altough记录位于数据库中。

添加:

OR APPLIST IS NULL

现在结果与预期一样。