【发布时间】:2014-11-20 03:23:21
【问题描述】:
我有一个名为DUMMY_TAB 的表,其中有一列COLOR,其中包含逗号分隔值RED,BLUE,WHITE,GREEN,YELLOW。现在我想检查是否存在多种颜色,我不知道值的存储顺序。
我使用过类似的查询:
SELECT COLOR from DUMMY_TAB WHERE (COLOR LIKE '%GREEN%' OR COLOR LIKE '%VOILET%' OR COLOR LIKE '%ORANGE%');
但查询没有返回任何内容。我可以在这里得到任何帮助吗?
【问题讨论】:
-
除了在列中存储逗号分隔列表是违反基本规范化的可怕做法这一事实之外,如果您的表包含您描述的数据,您发布的查询将返回该行。如果查询未返回行,则数据不得包含字符串
GREEN。当您搜索大写值时,表中的数据可能是小写的? -
我的行的大写逗号分隔值与我在我的问题中提出的相同。如绿色、蓝色、黄色
-
如果数据和查询与您显示的完全相同,则查询将返回一行。向我们展示一个独立的示例,该示例复制了您可以在我们的机器上运行的问题。否则,几乎不可能调试问题可能是什么
标签: sql jdbc oracle10g select-query