2013-03-06 104 views
-3

内文本选择记录继场的结构:甲骨文:由柱

Application1X,Application2X,Application3Y,仪表板

目标:获取所有记录,其中:

  • 凡Application1X和Dashboard是里面的字符串
  • 哪里Application2X是NOT里面的字符串

我有尝试过:

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

但结果是错误的,我认为是“喜欢”搜索的问题。是否有不改变表结构进行此查询什么更好的办法?

+2

您的查询不正确。结果没有错,这应该会引起错误;它应该是'AND APPLIST NOT LIKE '%Application2X%''。您的查询是正确的,并会返回您所期望的结果。如果结果“错误”,请提供示例数据,说明结果不正确的原因以及您期望得到的结果。 – Ben 2013-03-06 08:54:34

+0

这是一个答案:) – Sergio 2013-03-06 08:57:22

+0

没有@Sergio,问题是过于本地化,因此我投关闭。 – Ben 2013-03-06 09:02:13

回答

1

我想知道上面的声明如何在不提供列名的情况下在Oracle中工作,而不是像 那样只包含APPLIST NOT LIKE'%Application2X%';

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

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

有一个逻辑错误:Altough没有在此列“TEXT”记录在数据库中。

所以补充说:

OR APPLIST IS NULL 

现在的结果是一样的预期。