首页 > 解决方案 > 如何在 Athena / Presto 中将“2018 年 3 月 31 日”这种格式的日期从字符串转换为日期?

问题描述

使用 amazon Athena 我从 CSV 文件创建了一个表,以下是 athena 创建的查询,但是问题是即使我将字符串替换为日期,我也无法获取日期格式的日期字段。在 csv 文件中,日期格式为 Apr 01 2018;

CREATE EXTERNAL TABLE IF NOT EXISTS default.invoice (
  `cust_id` string,
  `invoice_id` string,
  `dated` string,
  `from` string,
  `to` string,
  `amount` decimal,
  `sgst` decimal,
  `total_amount` decimal,
  `amt_words` string 
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
  'serialization.format' = ',',
  'field.delim' = ','
) LOCATION 's3://snt-csv/'
TBLPROPERTIES ('has_encrypted_data'='false');

标签: amazon-athenapresto

解决方案


date_parse'%b %d %Y'格式一起使用并将结果转换为date.

presto> select cast(date_parse('Apr 01 2018', '%b %d %Y') as date);
   _col0
------------
 2018-04-01

推荐阅读