【问题标题】:Datatype Mismatch in THEN/ELSE expressionTHEN/ELSE 表达式中的数据类型不匹配
【发布时间】:2017-05-15 02:36:11
【问题描述】:

我正在尝试在 Teradata 查询中运行以下查询 sn-p

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

【问题讨论】:

    标签: teradata


    【解决方案1】:

    您需要告诉 Teradata '2020-12-31' 是一个日期,否则它认为它是一个字符串。只需在前面加上DATE。约会时总是这样做是一个好习惯。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-25
      • 2012-03-01
      • 2021-11-09
      • 1970-01-01
      相关资源
      最近更新 更多