将 Jet SQL IsNull 更改为 SQL IsNull 函数
Changing Jet SQL IsNull to to SQL IsNull Function
我在 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 认为它是一个列名
你要检查 [Book ID]
是否为空。如果它为空,那么您将前往 return -1
否则您将前往 return [Book ID]
.
要实现这一点,您需要将其正确设置为:
ISNULL([Book ID],-1) AS SubBookID
如您所见,在这种情况下您不再需要 IIF
函数。
阅读 T-SQL 中关于 ISNULL
的更多信息:https://docs.microsoft.com/en-us/sql/t-sql/functions/isnull-transact-sql?view=sql-server-2017
我在 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 认为它是一个列名
你要检查 [Book ID]
是否为空。如果它为空,那么您将前往 return -1
否则您将前往 return [Book ID]
.
要实现这一点,您需要将其正确设置为:
ISNULL([Book ID],-1) AS SubBookID
如您所见,在这种情况下您不再需要 IIF
函数。
阅读 T-SQL 中关于 ISNULL
的更多信息:https://docs.microsoft.com/en-us/sql/t-sql/functions/isnull-transact-sql?view=sql-server-2017