首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Teradata助手中从INT(yyyymmdd)类型到日期(mm/dd/yyyy)的日期格式转换

Teradata助手中从INT(yyyymmdd)类型到日期(mm/dd/yyyy)的日期格式转换
EN

Stack Overflow用户
提问于 2022-02-21 15:46:51
回答 4查看 1.1K关注 0票数 1

列中有整数格式的日期。示例值当前格式整数( 11 ) ->所需的日期格式。

  • yyyymmdd -> dd/mm/yyyy
  • 20121203 ->03/12/2012年月日
  • 20090403 -> 03/04/2009

有人能建议一个解决方案,同时铭记更改需要在表中的整个列中反映出来吗?

EN

回答 4

Stack Overflow用户

发布于 2022-02-21 16:56:39

使用日期

代码语言:javascript
复制
select STR_TO_DATE(col1, "%Y%m%d") as my_date
from test_tbl;

结果: my_date 2012-12-03 2009-04-03

演示

格式化作为先前的回答:

代码语言:javascript
复制
select DATE_FORMAT(col1, "%d/%m/%Y") as my_date
from test_tbl;

结果: my_date 03/12/2012 03/04/2009

演示

也许这两种方法都可以:

代码语言:javascript
复制
select DATE_FORMAT(STR_TO_DATE(col1, "%Y%m%d"),'%d/%m/%Y') as my_date
from test_tbl;

my_date
03/12/2012
03/04/2009

演示

票数 0
EN

Stack Overflow用户

发布于 2022-02-22 07:51:55

最简单的方法是基于Teradata的日期存储:

代码语言:javascript
复制
Cast(intdate - 19000000 AS DATE) 

当然,只有在没有坏日期的情况下,这才有效,因为您的消息来源似乎是MySQL,可能有20220200,等等。

票数 0
EN

Stack Overflow用户

发布于 2022-10-05 12:46:45

对于,您可以使用TO_CHAR,然后将其转换为如下所示的日期格式:

代码语言:javascript
复制
SEL CAST(TO_CHAR(20211015) AS DATE FORMAT 'YYYYMMDD')

结果: 10/15/2021 (mm/dd/yyyy)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71209190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档