我有一個CLOB類型的列'PHOTOIDS',它有一個用逗號分隔的數字列表。我需要查詢所有具有一組'photoIds'的記錄。查詢THE CLOB列以獲取數字列表的最佳方式是什麼?IN查詢CLOB
我找語義相似
SELECT * FROM TABLE_NAME一些地方PHOTOIDS IN(1,2,3)
我有一個CLOB類型的列'PHOTOIDS',它有一個用逗號分隔的數字列表。我需要查詢所有具有一組'photoIds'的記錄。查詢THE CLOB列以獲取數字列表的最佳方式是什麼?IN查詢CLOB
我找語義相似
SELECT * FROM TABLE_NAME一些地方PHOTOIDS IN(1,2,3)
SELECT *
FROM table_name
WHERE dbms_lob.instr(photoids, '1') > 0
AND dbms_lob.instr(photoids, '2') > 0
AND dmbs_lob.instr(photoids, '3') > 0;
,你有一個數字相對有限的名單這工作只要要搜索:)
我建議你規範設計,並有一個孩子表來保存photoIds..then這將是高效和易於
如果你不能這樣做,那麼使用一個過程/函數或動態SQL會做的伎倆,讓我知道如果你想要更多的信息,如何使用這兩個。
如果它不是一個CLOB列,但是一個正常規範化的設計,你可以用以下幾種方式來看這個問題:** [如何過濾SQL結果中的多對一關係](http:// stackoverflow .COM /問題/ 7364969 /如何對過濾器-SQL結果-IN-A-具有一對多-通關係)**。 –