我正在尝试将存储m / d / yyyy的日期格式转换为'yyyymmdd'字符格式,而不需要在每次我想在查询中使用该列时都转换日期列。
目前我正在将日期转换为字符:((cast(cast(invitation_date as CHAR(8)) as date format 'YYYYMMDD'))
。
有没有办法转换数据列一次,然后在查询中调用转换后的字符值?
我在Aqua Data Studio 13.0.3中使用Teradata。
答案 0 :(得分:1)
select to_char(field, 'yyyy-mm--dd hh:mm:ss') from table;
答案 1 :(得分:1)
导航到文件 - >选项 - >结果格式 - > Teradata的。然后选择数据类型Date并输入yyyyMMdd。您的结果集现在将返回指定的日期格式。如果这可以解决您的问题,请告诉我。
答案 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 来自......