将Jet SQL IsNull更改为SQL IsNull函数

时间:2019-06-08 01:19:29

标签: tsql jet-sql

我在MS Access中有一个查询,试图更改为SQL视图

select语句的一部分是

IIf(IsNull([Book ID]),-1,[Book ID]) AS SubBookID

与Access不同,T-SQL希望为IsNull函数提供2个参数。

我需要做的是类似

IIf(IsNull([Book ID],true),-1,[Book ID]) AS SubBookID

但是我们不能像这样使用true,因为T-SQL认为它是列名

1 个答案:

答案 0 :(得分:1)

您将检查[Book ID]是否为空。如果为null,则将返回-1,否则将返回[Book ID]

要实现此目的,您需要将其纠正为:

ISNULL([Book ID],-1) AS SubBookID

如您所见,在这种情况下,您不再需要IIF函数。

详细了解T-SQL中的ISNULLhttps://docs.microsoft.com/en-us/sql/t-sql/functions/isnull-transact-sql?view=sql-server-2017