【问题标题】:Teradata Date calculation format issueTeradata 日期计算格式问题
【发布时间】:2017-05-09 11:55:54
【问题描述】:

我将此日期集从 SAS 上传到 TD,日期格式类似于 MEDI_START_DT 格式,'MM/DD/YYYY' 现在我想根据这个专栏做一个计算 MEDI_START_DT + PDAYSSUP -1 = MEDI_END_DT_PRE 但 MEDI_END_DT_PRE 的格式不是日期,我尝试强制转换(MEDI_END_DT_PRE 的日期),它说日期无效。 你们对如何在计算后获得日期格式结果有任何想法吗?谢谢!

enter image description here

【问题讨论】:

  • 如果 MEDI_START_DT 是一个 DATE 变量并且 PDAYSSUP 是一个整数,那么您的表达式应该自动评估为一个 DATE。

标签: date format teradata date-format calculation


【解决方案1】:

如果您从 SAS 加载数据并且在 SAS 中将其格式化为 DATE,那么它应该可以工作。您应该检查您的 PDAYSSUP 变量是否在 Teradata 中定义为 FLOAT。尝试转换该变量:

select MEDI_START_DT + cast(PDAYSSUP as integer) -1 as MEDI_END_DT_PRE
from ...

【讨论】:

  • 问题是我们应该将 'int' 更改为 'integer' 否则它将不起作用。谢谢您的回答! :)
  • 谢谢。修复了拼写类型名称的答案。
猜你喜欢
  • 2014-12-01
  • 2017-04-21
  • 2015-10-15
  • 1970-01-01
  • 2017-05-26
  • 2015-01-10
  • 2021-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多