[SQL ] Oracle "In" (變數)的問題

看板Database作者 (皮老闆)時間11年前 (2012/12/14 12:03), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
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

12/14 14:17, , 1F
u因為真的當字串了 XD
12/14 14:17, 1F

12/14 14:50, , 2F
拆字串應該是可以 因為實務上有應用到
12/14 14:50, 2F

12/17 11:38, , 3F
oracle 雙引號內字串視為特殊字元,所以應為大小寫問題
12/17 11:38, 3F

12/17 11:39, , 4F
盡量不要使用雙引號,除非有特殊需求
12/17 11:39, 4F
文章代碼(AID): #1GogJybT (Database)