作者sohumi (皮老闆)
看板Database
標題[SQL ] Oracle "In" (變數)的問題
時間Fri Dec 14 12:03:04 2012
Oracle 9i
當使用In條件式時.
VARCHAR s = "'a','b','c'";
select...from...where column in (s);
執行ok,順利找到資料.
但是如果
VARCHAR s = "a,b,c";
select...from...where column in (''' + REPLACE(s,',',''',''') + ''');
執行 找不到資料,
也就是用REPLACE把 , 取代成',' 並無法順利執行.
如果這樣無法執行,是不是寫Function或Procedure來拆字串也沒辦法?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.249.204.172
1F:→ swpoker:u因為真的當字串了 XD 12/14 14:17
2F:→ moyasi:拆字串應該是可以 因為實務上有應用到 12/14 14:50
3F:推 kobedisel:oracle 雙引號內字串視為特殊字元,所以應為大小寫問題 12/17 11:38
4F:→ kobedisel:盡量不要使用雙引號,除非有特殊需求 12/17 11:39