Sql 如何在AWS Athena中成功地将字符串转换为日期类型?
我正在尝试将字符串类型的日期列转换为日期类型 我在AWS Athena中使用以下查询:Sql 如何在AWS Athena中成功地将字符串转换为日期类型?,sql,amazon-web-services,date,presto,amazon-athena,Sql,Amazon Web Services,Date,Presto,Amazon Athena,我正在尝试将字符串类型的日期列转换为日期类型 我在AWS Athena中使用以下查询: SELECT a, b, date_parse(date_start, '%m-%d-%Y') AS date_start FROM "database"."table" 如果我加上10个限制,它就行了。但当我尝试对所有记录执行此操作时,会出现以下错误: INVALID\u FUNCTION\u参数:无效格式:“5/16/2020”在“/16/2020”处格式不正确。
SELECT a, b, date_parse(date_start, '%m-%d-%Y') AS date_start
FROM "database"."table"
如果我加上10个限制,它就行了。但当我尝试对所有记录执行此操作时,会出现以下错误:
INVALID\u FUNCTION\u参数:无效格式:“5/16/2020”在“/16/2020”处格式不正确。
“字符串类型”列中的所有日期都类似于-2/22/2020,并且正确地转换了该日期。我不明白为什么它对其余的人不起作用
另外一个问题-我正在使用上面的
SELECT
语句测试转换-如果我弄明白了这一点,下一步会是什么?我可以在AWS Athena中更新表吗?您的日期字符串看起来像'2-22-2020'
还是'2/22/2020'
如果有分隔符“/”
,如错误消息所示,则需要调整格式说明符:
SELECT a, b, date_parse(date_start, '%m/%d/%Y') AS date_start
FROM "pg_orangeboydata"."kanopy"
您还可以同时管理这两种格式:
SELECT a, b, date_parse(replace(date_start, '/', '-'), '%m-%d-%Y') AS date_start
FROM "pg_orangeboydata"."kanopy"
您的日期字符串看起来像
'2-22-2020'
还是'2/22/2020'
如果有分隔符“/”
,如错误消息所示,则需要调整格式说明符:
SELECT a, b, date_parse(date_start, '%m/%d/%Y') AS date_start
FROM "pg_orangeboydata"."kanopy"
您还可以同时管理这两种格式:
SELECT a, b, date_parse(replace(date_start, '/', '-'), '%m-%d-%Y') AS date_start
FROM "pg_orangeboydata"."kanopy"
非常感谢。这对这一问题非常有效!您是否知道如何处理具有“%m%-d%-y”和“%-%%y%h:%i′”的列,如果我不认为它是-<代码>无效IDFROUTHY参数:无效格式:“11-16-2019 20:16”在“20:16”<代码>中出错,如果我这样做,那么我得到<代码>无效IDFUNCTION参数:无效格式:“9-72019”。太短了谢谢!这对这一问题非常有效!您是否知道如何处理具有“%m%-d%-y”和“%-%%y%h:%i′”的列,如果我不认为它是->代码>无效IDFROUTHY参数:无效格式:“11-16-2019 20:16”在“20:16”<代码>中出错,如果我这样做,则得到<代码>无效IDFROUTHY参数:无效格式:“9-72019”太短