【发布时间】:2017-11-02 17:13:06
【问题描述】:
在其中一个表中,我有一个时间列,其中的数据是这样的: 01:21:00.000000 所有记录。
我想检索如下所示的数据。
01:21:00 在 teradata 中。
请指教。我是 teradata 新手,不知道如何实现这一目标
【问题讨论】:
-
你看过 CAST() 函数吗?看来您的数据是 TIME(6),而您想要 TIME(0)。
标签: teradata
在其中一个表中,我有一个时间列,其中的数据是这样的: 01:21:00.000000 所有记录。
我想检索如下所示的数据。
01:21:00 在 teradata 中。
请指教。我是 teradata 新手,不知道如何实现这一目标
【问题讨论】:
标签: teradata
如果您的列是时间戳,那么我们可以使用 Timestamp(0) 为 YYYY-MM-DDbHH:MI:SS 而 Timestamp(6) 为 YYYY-MM-DDbHH:MI:SS.ssssss(额外毫秒)。
如果您的专栏只是时间,那么我们可以使用“CAST”。
从;中选择演员(作为时间(0))
【讨论】:
我不知道在 Teradata 中降低时间(或时间戳)精度的合理方法。假设您的列是时间(6),您不能只将其转换为时间(0)。您收到 DateTime 字段溢出错误。
我通过将其转换为字符字段然后返回到 time(0) 来做到这一点:
select *
from
<your table>
where
cast(cast <your column> as varchar(8)) as time(0) = '01:21:00'
【讨论】: