我有一个Oracle查询,我试图将其转换为SQL Server 2012,但发现很难看到如何实现同一目标。
有问题的SQL是:
SELECT decode( substr(a.Code, 1, 8), 'APP VARY', 'C', 'B') AS Value1
From tblA a
如果我理解正确,DECODE
是在SQL Server中执行IIF
的ORACLE方法。所以我想我可以使用类似的东西:
Select IIF(SUBSTRING(a.Code,1,8)='APP VARY','C','B') as Value1
看起来不错吗?
任何人都知道如何在SQL Server中实现同一目标?
如注释中所指出,似乎case
表达式就是您想要的,例如
case
注意:并用case substring(a.Code, 1, 8) when 'APP VARY' then 'C' else 'B' end
替换substr
。