我在尝试更改为 SQL 视图的 MS Access 中有一个查询
选择语句部分之一是
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 认为它是列名
你要检查是否[Book ID]
为空。如果它是 null 那么你将返回,-1
否则你将返回[Book ID]
.
要实现这一点,您需要将其改正为:
ISNULL([Book ID],-1) AS SubBookID
如您所见,在这种情况下您不再需要该IIF
功能。
阅读有关ISNULL
T-SQL 的更多信息:https ://docs.microsoft.com/en-us/sql/t-sql/functions/isnull-transact-sql?view=sql-server-2017