我想知道,如果SQL函数extractvalue()
,并xmltype()
在下面的查询被执行的机会,或者如果他们将被评估由一个字符串值IN
操作。
SELECT * FROM TABLE_1 WHERE (FIELD_1 IN ('foo','bar''||(select extractvalue(xmltype(''%gxgol;]>''),''/l'') from dual)||'''))
此查询不会在 Oracle 中引发任何错误,并且输出仅包含FIELD_1
equal的行'foo'
。
不,不会执行字符串文字的内容。谢天谢地。
您需要一个真正的子查询。就像是:
SELECT *
FROM TABLE_1
WHERE FIELD_1 IN (
SELECT 'foo' FROM DUAL
UNION ALL
SELECT 'bar' || extractvalue(bla,bla) FROM DUAL)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句