如何使用case when
与OLEDB语句excel文件?
像select prodid, case prodid when 1 then 'fine' when 2 then 'good' end
Answer 1:
你必须查询Excel中何时使用IIF代替CASE,例如
SELECT PRODID,IIF(PRODID = 1, '精',IIF(PRODID = 2, '好', ''))FROM MyExcel
正如你所看到的,它会导致混乱很快。 这不是太糟糕,如果你只得到了一个双向评价,但在你的代码,目前还不清楚是否只对PRODID或不止2倍可能的值。 我的例子假设有其它值,因此嵌套IIF。
Answer 2:
OLEDB是只有一种“中继”和仅仅重复查询到底层源。
我不相信Excel支持的情况下施工,从那里你可以不使用它,甚至通过OLEDB。
您可以改为使用Excel特定的习惯用语, IIF()函数 ,如CodeByMoonlight的答案描述。 正如指出,有必要巢IIF()调用使得对于需要超过3或4案件情况相当混乱的提案。
文章来源: OLEDB CASE WHEN in SELECT Query [closed]