【问题标题】:Conversion of datetime format日期时间格式的转换
【发布时间】:2023-01-13 21:11:13
【问题描述】:
我有列名请求日期时间数据类型为字符串。
价值请求日期时间是格式2022 年 8 月 15 日:01:54:41 +0000
我需要转换2022 年 8 月 15 日:01:54:41 +0000转换为 'yyyy-MM-dd HH:mm:ss' 格式。
我试过 date_parse(requestdatetime,'%d/%b/%Y'':''HH:mm:ss'' ''+SSS') 但没有成功。
【问题讨论】:
标签:
sql
aws-glue
amazon-athena
presto
trino
【解决方案1】:
date_parse 接受 MySQL 日期格式,尝试接受 Java format 的 parse_datetime(不要忘记添加时区偏移部分 - Z):
SELECT parse_datetime('15/Aug/2022:01:54:41 +0000', 'dd/MMM/yyyy:HH:mm:ss Z');
输出:
| _col0 |
| 2022-08-15 01:54:41.000 UTC |
【解决方案2】:
您需要将字符串转换为日期,然后将日期转换为字符串以获得预期结果。
select date_format(parse_datetime('15/Aug/2022:01:54:41 +0000','dd/MMM/yyyy:HH:mm:ss Z'), '%Y/%m/%d %T')
结果:
2022/08/15 01:54:41