dataworks failed: ODPS-0121095:Invalid argument - in function cast, string datetime's format must be yyyy-mm-dd hh:mi:ss, input string is:?
这个错误通常是由于在进行数据类型转换时,输入的字符串日期时间格式不符合要求导致的。
根据错误提示信息,ODPS要求字符串日期时间的格式必须是"yyyy-mm-dd hh:mi:ss",而您的输入字符串格式不符合要求。请确保您的输入字符串的格式正确,并符合ODPS的要求。
以下是一个示例代码,用于将字符串日期时间转换为ODPS要求的格式:
SELECT CAST('2022-01-01 12:00:00' AS DATETIME) AS converted_datetime;
将上述代码中的字符串替换为您要转换的日期时间字符串,然后执行查询。这样能够将字符串日期时间转换为ODPS要求的格式。
具体原因很有可能是:
在调用 cast 函数时,把一个不是 yyyy-mm-dd hh:mi:ss 格式的字符串作为日期参数传入
字符串的格式可能是 yyyy/mm/dd 、yyyy-mm-dd 等非法格式
解决方案主要有两种:
修改字符串日期格式为 yyyy-mm-dd hh:mi:ss
Copy
select cast('2021-07-26 12:10:20' as datetime)
使用 from_unixtime 函数,将时间戳转换为 datetime 类型
Copy
select from_unixtime(1627265000)
以上两种方案均可解决此错误。
此外,还可以检查:
传入 cast 函数的字符串是否能正确解析为 datetime 格式
是否缺少单引号将字符串括起来
能否通过 debug 方式,直接打印出字符串来定位问题
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。