【问题标题】:Where Clause - When date is selected also include blanksWhere 子句 - 选择日期时也包括空格
【发布时间】:2012-03-13 17:27:11
【问题描述】:
WHERE
    lipLifeQuoteAppDate BETWEEN @FromDate AND @ToDate
    AND lipLifeQuoteEUdate IS NULL
    AND casCurrentWorkflowID <900
    AND lipStatus <> 'Not proceeding'
    AND lipLifeQuoteCallDate  < @LatestCallDate

我只附加了我的一个脚本中的 where 子句,问题出在最后一行。此脚本显示日期范围“lipLifeQuoteAppDate”之间的应用程序列表

名为“lipLifeQuoteCallDate”的字段显示在收到应用程序后向客户端发出呼叫的时间。

例如John Smith 于 1 月 25 日 (lipLifeQuoteAppDate) 提出申请,然后在 2 月 1 日 (lipLifeQuoteCallDate) 接到电话。

我想选择 1 月 1 日到 31 日之间的申请,然后使用 (lipLifeQuoteCallDate) 我想只显示 1 月 31 日之前联系过的案例。这就是上面的脚本所做的。我遇到的问题是我发现我在第二个日期范围 (QuoteCallDate) 中的一些字段是空白的,当有人选择日期时,我该如何包含它们?

谢谢!

【问题讨论】:

  • 当您说“空白”时,您的意思是 NULL 吗?或者更重要的是,您的字段是字符串(VARCHAR 等)还是真实的 DATETIME 数据类型?

标签: sql date conditional where


【解决方案1】:

您的意思是空白(null?) lipLifeQuoteCallDate 算作在指定日期之前?如果是这样:

AND ((lipLifeQuoteCallDate < @LatestCallDate) or (lipLifeQuoteCallDate is null))

【讨论】:

    【解决方案2】:

    假设您要测试 lipLifeQuoteCallDate IS NULL 的时间并允许这些值,即使 NULL 不是 &lt; LatestCallDate,您也可以试试这个...

    WHERE lipLifeQuoteAppDate BETWEEN @FromDate AND @ToDate
      AND lipLifeQuoteEUdate IS NULL
      AND casCurrentWorkflowID < 900
      AND lipStatus <> 'Not proceeding'
      AND (lipLifeQuoteCallDate < @LatestCallDate OR lipLifeQuoteCallDate IS NULL)
    

    【讨论】:

    • 感谢 Dems,我输入了代码,它运行良好,在我发布之前我输入了 '' 这当然没有用,我应该知道使用 IS NULL!再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 2019-09-12
    • 2017-01-02
    • 2017-05-17
    • 2016-09-07
    • 2018-04-24
    • 2010-12-29
    相关资源
    最近更新 更多