访问SQL:IIF功能

时间:2011-03-16 13:49:09

标签: sql oracle plsql

之前我没有使用过访问权限,但是我必须将访问查询转换为SQL,这样我才能用水晶写一个报告。

查询当前在其select语句中使用IFF函数,该函数似乎根据表的特定列的值确定将返回的值。

因此,例如,如果值为“CR”,则应将其作为“信用”返回,如果为“NCR”,则应将其作为“非信用”返回

我可以在SQL中执行类似的操作吗?

3 个答案:

答案 0 :(得分:8)

使用CASE表达式。

CASE WHEN SomeColumn = 'CR' THEN 'credit'
     WHEN SomeColumn = 'NCR' THEN 'non-credit'
END

答案 1 :(得分:1)

您可以使用CASE声明:

SELECT CASE WHEN [value] = 'CR' THEN 'Credit' WHEN [Value] = 'NCR' THEN 'non-credit' END

答案 2 :(得分:1)

除CASE表达式外,Oracle数据库还支持DECODE()函数。

SELECT DECODE(value, 'CR', 'Credit', 'NCR', 'Non-Credit') from table;

在极少数情况下,使用DECODE()函数而不是CASE表达式可能会有用,但我建议坚持使用CASE。