2016-12-30 1 views
0

Я пытаюсь запустить ниже фрагмент кода запроса в запросе TeradataDatatype Несовпадение в 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'