【问题标题】:Changing Jet SQL IsNull to to SQL IsNull Function将 Jet SQL IsNull 更改为 SQL IsNull 函数
【发布时间】:2019-06-08 01:19:29
【问题描述】:

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

其中一个select语句部分是

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

与 Access 不同,T-SQL 需要 2 个参数用于 IsNull 函数。

我需要做的是类似

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

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

【问题讨论】:

  • 相当于IsNull([Book ID], -1) As SubBookID。这将返回Book ID(如果它不是NULL),或者-1(如果它是);你不需要IIf()

标签: tsql jet-sql


【解决方案1】:

您将检查[Book ID] 是否为空。如果它为空,那么你将返回-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

【讨论】:

    猜你喜欢
    • 2017-06-03
    • 2010-09-09
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 2017-04-19
    相关资源
    最近更新 更多