Teradata:如何将 varchar 值(格式 'dd.mm.yyyy')转换为日期(格式 'yyyy-mm-dd')?

Teradata: how to convert varchar value (format 'dd.mm.yyyy') to date (format 'yyyy-mm-dd' )?

如何在 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'

您需要在转换过程中应用一种格式,可以是 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,这是编写日期文字的推荐(并且始终可靠)方式。