presto - Presto sql 函数 date_parse 在特定日期失败 (1960-01-01)
解决方案
这是由于 Presto 如何建模时间戳的长期问题。长话短说,时间戳的实现不符合 SQL 规范,它错误地尝试将它们视为“时间点”或“即时”值并在时区规范中解释它们。对于某些日期和时区规则,由于夏令时转换等原因,值未定义。
这在最新版本的 Trino(以前称为 Presto SQL )中已修复,因此您可能需要更新。
顺便说一句,您可以使用函数将 a 转换varchar
为 a或将值转换为:date
date()
date
trino> select date('1960-01-01');
_col0
------------
1960-01-01
(1 row)
trino> select cast('1960-01-01' as date);
_col0
------------
1960-01-01
(1 row)
推荐阅读
- c++ - ffmpeg 和 PkgConfig 的 Cmake 错误:找不到 -lpkgcfg_lib_LIBAV_stdc++
- python - 机器人框架:从 python 库导入变量
- html - Bootstrap 模态弹出窗口中的 Twitter“推文按钮”未呈现
- reactjs - React,Mui 评级组件
- css - 数据表中水平滚动中的标题修复问题
- python - 每组熊猫相对于特定行的百分比变化
- stripe-payments - 仅当 Stripe 支付有效时才注册用户
- json - 在 Azure Synapse 中读取 JSON
- azure - Azure B2 - jit 迁移无法在密码重置时对用户进行身份验证 - 全部使用自定义策略配置
- arrays - 使用不同的值更新MongoDB中数组内的多个对象值而不循环,但纯查询