Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在AWS Athena中成功地将字符串转换为日期类型?_Sql_Amazon Web Services_Date_Presto_Amazon Athena - Fatal编程技术网

Sql 如何在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”处格式不正确。

我正在尝试将字符串类型的日期列转换为日期类型

我在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”处格式不正确。

“字符串类型”列中的所有日期都类似于-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”太短