2014-07-23 76 views
0

查詢:TIMEVALUE錯誤IIF

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

這是什麼,我試圖做一個簡化版本。在call_detail_paste表中,有日期/時間字段值爲null。我只想要字段的時間部分,所以我應用TimeValue()函數來獲取時間部分。顯然,如果該字段的值爲null,則會出現錯誤,因此我在IIF()內嵌入了ISERROR()

正在發生的事情:

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

在查詢的最終版本,如果沒有錯誤,將輸出TimeValue而如果有錯誤,它會返回null

任何想法如何讓這個工作正確嗎?

回答

2

而不是IsError。或者用IIf的IsNull。

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