2016-12-30 452 views
0

我想在Teradata數據查詢以下查詢片段運行數據類型不匹配的THEN/ELSE表達

WHERE COALESCE(CAST (EXPC_DLVR_TS as date),'2020-12-31') >'2016-11-18' 

我嘗試另一個但類似的一個

WHERE CAST(COALESCE(EXPC_DLVR_TS,'12/31/2020 17:00:00.000000-08:00') as date) >'2016-11-18' 

對於這兩個我下面得到查詢錯誤 -

Datatype Mismatch in THEN/ELSE expression 

回答

1

您需要告訴Teradata'2020-12-31'是日期,否則它認爲它是一個字符串。只需在前面加DATE即可。總是這樣做的日期是一個好習慣。

where COALESCE(CAST (EXPC_DLVR_TS as date),date '2020-12-31') > date '2016-11-18'