在SQL中将日期转换为字符格式

时间:2014-02-20 16:54:31

标签: sql teradata

我正在尝试将存储m / d / yyyy的日期格式转换为'yyyymmdd'字符格式,而不需要在每次我想在查询中使用该列时都转换日期列。

目前我正在将日期转换为字符:((cast(cast(invitation_date as CHAR(8)) as date format 'YYYYMMDD'))

有没有办法转换数据列一次,然后在查询中调用转换后的字符值?

我在Aqua Data Studio 13.0.3中使用Teradata。

5 个答案:

答案 0 :(得分:1)

select to_char(field, 'yyyy-mm--dd hh:mm:ss') from table; 

答案 1 :(得分:1)

导航到文件 - >选项 - >结果格式 - > Teradata的。然后选择数据类型Date并输入yyyyMMdd。您的结果集现在将返回指定的日期格式。如果这可以解决您的问题,请告诉我。

enter image description here

enter image description here

答案 2 :(得分:1)

如果来源是DECIMAL yyyymmdd你可以做

CAST(invitation_date - 19000000 AS DATE) AS newcol

Teradata允许在任何地方使用别名,因此您只需执行

即可
WHERE newcol > DATE

当然最好的情况是在加载期间将这些列更改为DATE。

答案 3 :(得分:0)

你不应该这样说,它根本行不通:

select invitationdate(field, 'yyyymmdd')

试试这个:

SELECT to_char(column_date, 'yyyy/mm/dd') from table;
正如“男人”所说的那样。请注意非核心(_)字符;不是这个(-)。

答案 4 :(得分:0)

这是一个更长但更简单的方式

选择 yourdate     ,演员((提取(从你的日期开始)* 100 +提取(从你的日期开始))* 100 +提取(从你的日期开始的日期)作为字符(8))作为yyyymmdd 来自......