将Varchar转换为Interval数据类型

时间:2014-02-11 15:07:47

标签: teradata

我需要在表中存储间隔数据类型。 由于在表中不直接支持间隔数据类型作为列类型,因此列的类型已设置为Varchar。在这种情况下,如何在查询中将此varchar数据类型转换为间隔数据类型。

以下内容将为您提供所需内容的图片。

Create Table tablename1
(
col1 varchar(15)
);

Insert into Tablename1 values ('12:00:00');

select current_date + cast(col1 as hour to minute); << this statement would fail

1 个答案:

答案 0 :(得分:2)

您需要添加区间关键字:强制转换(col1作为间隔小时到秒)

但是您不能将日期添加到日期,只能添加到时间戳:

select current_timestamp(0) + cast(col1 as interval hour to second)

顺便说一句,当然INTERVAL是Teradata支持的数据类型。

Create Table tablename1
(
col1 interval hour(4) to second
);

select current_timestamp(0) + col1