将oracle查询放在oracle if else语句中时出现问题
select workgroupid, maxchats,
case
when a.maxchats ='-1' then
(select propvalue from ofproperty where name = 'xmpp.live.defaults.maxchats')
else
null (1)
end as aaaa
from fpworkgroup a;
当我将maxchats放在1位置时,我会得到错误,
我该如何解决这个问题??
帮帮我.. 提前谢谢答案 0 :(得分:2)
很难理解你的问题,但听起来你正试图用maxchats
代替null (1)
并且它会给你一个错误?
如果这是正确的,我猜测错误是fpworkgroup.maxchats
和ofproperty.propvalue
具有不排列的不同列类型。 CASE
的所有分支都必须返回相同的列类型。例如,您不能从一个分支返回int
并从另一个分支返回varchar
。
你必须施放一个或另一个,以便它们返回相同的类型。