【问题标题】:How to convert or rewrite Access IIF Statement in SQL Server如何在 SQL Server 中转换或重写 Access IIF 语句
【发布时间】:2015-04-26 20:07:42
【问题描述】:

我认为如果条件为真或假,IIf 语句会返回一个值,但是 Access 中的此 IIf 语句会返回字段及其值。

IIf([A1]![KPr],[A1]![Kat],IIf([Data2]![Kat],[Data2]![Kat],[Data1]![Kat])),

from 子句中的表左连接 我尝试使用CASE WHENSQL Server 中实现此语句,但它也接受真或假条件。

我怎样才能理解和实现这个说法。

【问题讨论】:

  • iif ( condition, value_if_true, value_if_false ).. 在上面的语句中,如果第一个条件失败,他们将检查另一个条件.. 将其转换为 sql server 检查嵌套大小写时

标签: sql-server ms-access


【解决方案1】:

VB、VBA、Access中的IIf函数与ps_prakash02在评论中写的一样:iif(condition, value_if_true, value_if_false)。这意味着如果条件评估为真,则返回 value_if_true,否则返回 value_if_false
所以 IIf 到 t-sql 的翻译就是CASE WHEN condition THEN value_if_true ELSE _value_if_false END

我不太确定[A1]![KPr] 在访问中的含义,我猜它是表 A1 的 KPr 列值或类似的东西,所以我将它们留在你的问题中,只需替换 @ 987654327@ 和CASE 在我的回答中:

CASE WHEN [A1]![KPr] THEN [A1]![Kat]
     ELSE 
         CASE WHEN [Data2]![Kat] THEN [Data2]![Kat] 
              ELSE [Data1]![Kat]
         END
 END

注意: In SQL Server 2012 Microsoft included IIF in t-sql.

【讨论】:

    猜你喜欢
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多