我想在teradata的不同专栏的两个日期中找到最少的

时间:2017-09-15 09:23:59

标签: teradata

LEAST(DATE(CAP_REMEDIATION.DATE_OF_AUDIT),  
      DATE(CAP_REMEDIATION.START_DATE_REQUEST)) 

我用它来查找两个日期之间的最短日期。

1 个答案:

答案 0 :(得分:2)

Teradata没有为日期/时间类型定义LEAST/GREATEST(愚蠢,至少在TD16.10中已修复)。

如果它只有两列,那么最简单的方法就是'CASE:

CASE WHEN CAP_REMEDIATION.DATE_OF_AUDIT < CAP_REMEDIATION.START_DATE_REQUEST
     THEN CAP_REMEDIATION.DATE_OF_AUDIT
     ELSE CAP_REMEDIATION.START_DATE_REQUEST
END

如果数据类型实际上是时间戳,并且您想要一个日期:

CAST(previous_case_expression AS DATE)