【问题标题】:Teradata: how to convert varchar value (format 'dd.mm.yyyy') to date (format 'yyyy-mm-dd' )?Teradata:如何将 varchar 值(格式“dd.mm.yyyy”)转换为日期(格式“yyyy-mm-dd”)?
【发布时间】:2018-03-16 20:22:57
【问题描述】:

如何在 Teradata 的 WHERE 子句中将包含 dd.mm.yyyy 格式的日期的 varchar 值转换为日期格式“yyyy-mm-dd”? 需要编写如下代码:

SELECT * from TABLE
WHERE <some operations with VARCHAR variable containing date> between '2015-06-01' and '2017-12-31'

【问题讨论】:

    标签: sql date teradata varchar


    【解决方案1】:

    您需要在投射期间应用一种格式,无论是 Teradata 样式:

    WHERE CAST(str AS DATE FORMAT 'dd.mm.yyyy') 
    BETWEEN DATE '2015-06-01' AND DATE '2017-12-31'
    

    或Oracle风格:

    WHERE TO_DATE(str, 'dd.mm.yyyy') 
    BETWEEN DATE '2015-06-01' AND DATE '2017-12-31'
    

    顺便说一句,我在字符串前面添加了DATE,这是编写日期文字的推荐(并且始终可靠)方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-31
      • 2012-03-05
      • 2020-02-03
      • 2018-02-24
      • 2017-06-24
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      相关资源
      最近更新 更多