作者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