0

将 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 个位置时,我得到了错误,,

我该如何解决这个......?

帮帮我..提前谢谢

4

1 回答 1

2

很难理解您的问题,但听起来您正在尝试maxchats代替null (1)它并给您一个错误?

如果这是正确的,我猜错误就是那个错误fpworkgroup.maxchats并且ofproperty.propvalue有不同的列类型没有排列。a 的所有分支都CASE必须返回相同的列类型。例如,您不能int从一个分支返回一个并varchar从另一个分支返回一个。

您必须转换一个或另一个,以便它们返回相同的类型。

于 2012-06-14T15:01:19.620 回答