IIF中的TimeValue错误

时间:2014-07-23 15:39:58

标签: sql ms-access

查询:

SELECT
    IIF(ISERROR(TimeValue(cdp.date_ivr_start)),1,0) AS tTime
FROM
    call_detail_paste AS cdp

这是我想要做的简化版本。在call_detail_paste表中,有一个null值的日期/时间字段。我只想要字段的时间部分,所以我应用TimeValue()函数来获得时间部分。显然,如果该字段是null值,则会出现错误,因此我在ISERROR()内嵌套IIF()

发生了什么:

  Date/Time Value        Expected        Actual
07/01/2014 12:15:62         0              0
      null                  1            #Error

在查询的最终版本中,如果没有错误,它将输出TimeValue,而如果出现错误,它将返回null

任何想法如何使其正常工作?

1 个答案:

答案 0 :(得分:2)

而不是IsError。或者使用带有IIf的IsNull。

SELECT
    IIF(IsNull(cdp.date_ivr_start), 1, 0) AS tTime
FROM
    call_detail_paste AS cdp