我在表中有一列称为“ 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'结束)
显然这两种语法都不对,所以我希望有人可以教我正确的书写方式?
在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
您可以使用CASE或IIF