【问题标题】:Cast Varchar to Interval data type将 Varchar 转换为 Interval 数据类型
【发布时间】:2014-03-09 10:58:18
【问题描述】:

我需要将区间数据类型存储在表中。 由于 Table 中不直接支持区间数据类型作为列类型,因此已将列的类型设置为 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

【问题讨论】:

    标签: teradata


    【解决方案1】:

    需要添加间隔关键字:cast(col1 as interval hour to second)

    但是你不能给日期添加间隔,只能给时间戳添加:

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

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

    Create Table tablename1
    (
    col1 interval hour(4) to second
    );
    
    select current_timestamp(0) + col1
    

    【讨论】:

    • 我希望我可以为这个答案投票一千次:)。
    猜你喜欢
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    相关资源
    最近更新 更多