我有一個名爲DUMMY_TAB
的表,其列COLOR
包含逗號分隔值RED,BLUE,WHITE,GREEN,YELLOW
。現在我想檢查是否存在多種顏色,並且我不知道存儲值的順序。從Oracle數據庫中的逗號分隔值獲取特定值
我已經使用查詢關鍵詞,比如:
SELECT COLOR from DUMMY_TAB WHERE (COLOR LIKE '%GREEN%' OR COLOR LIKE '%VOILET%' OR COLOR LIKE '%ORANGE%');
但查詢不返回任何東西。我可以在這裏得到任何幫助嗎?
除了一個事實,即存儲在列中的逗號分隔的列表是可怕的做法違反基本正常化,如果表中的數據爲你描述,查詢您發佈將返回該行。如果查詢未返回行,則數據不得包含字符串「GREEN」。當您搜索大寫字母值時,表格中的數據可能是小寫字母嗎? – 2014-09-25 11:17:41
我的行有大寫逗號分隔值,與我在問題中詢問的相同。像GREEN,BLUE,YELLOW – Imran 2014-09-25 11:21:32
如果數據和查詢完全按照您顯示的那樣進行,則查詢將返回一行。向我們展示一個獨立的示例,複製我們可以在我們的機器上運行的問題。否則,幾乎不可能調試出什麼問題 – 2014-09-25 11:26:27