试图编写一个简单的计算列表达式(IF语句)

问题描述 投票:1回答:2

我在表中有一列称为“ BanquetPrize”,另一列称为“ PrizeWinner”。如果“ BanquetPrize”字段不为NULL,我希望“ PrizeWinner”字段自动填充为“ YES”,如果为NULL,则应为“ NO”。 (坚持)

我对SQL真的很陌生,来自DBF表,表达式本来是这样的:IF(IsNotBlank(BanquetPrize),“ YES”,“ NO”)

但是我不知道如何用SQL编写它。我尝试过的(IIF [BanquetPrize] isnotnull,然后为“ YES”,否则为“ NO”结束) - 并且 - (如果[BanquetPrize] isnotnull则为'YES',否则为'NO'结束)

显然这两种语法都不对,所以我希望有人可以教我正确的书写方式?

calculated-columns computed-field
2个回答
0
投票

在SQL中,您要使用IS NULL,如以下代码所示

CASE [BanquetPrize]
 WHEN IS NULL THEN 'NO'
 ELSE 'YES'
END 

您还可以执行以下类似操作,为返回列命名,在这种情况下,我给它的名称与BanquetPrize列相同。

CASE [BanquetPrize]
 WHEN IS NULL THEN 'NO'
 ELSE 'YES'
END AS 'BanquetPrize'

ORDER BY条款中使用CASE的其他示例

SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);

阅读有关SQL CASE语句的更多信息,并在IS NULL中使用https://www.w3schools.com/sql/sql_case.asp


0
投票

您可以使用CASE或IIF

© www.soinside.com 2019 - 2024. All rights reserved.