我想请求帮助查看转换我刚刚接受了一段VB6代码并将其转换为SQL语法。
VB6
IIF([Type] = 1, 26, IIF([Type] = 2, 27, 28))
SQL
CASE
WHEN [Type] = 1 THEN 26
ELSE
CASE
WHEN [Type] = 2 THEN 27
ELSE 28
END
END
答案 0 :(得分:1)
转换没问题,但可以做得更好。与IIF
不同,case
支持多种情况,因此您可以节省自己的嵌套。此外,由于您的所有比较都在[Type]
列上,因此这是使用简写语法的绝佳机会:
CASE [Type]
WHEN 1 THEN 26
WHEN 2 THEN 27
ELSE 28
END