OLEDB CASE WHEN在SELECT查询[关闭](OLEDB CASE WHEN in SE

2019-09-26 07:46发布

如何使用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]