snowflake-cloud-data-platform - 雪花中的以下日期转换查询不起作用
问题描述
表中的 varchar 列包含“05/13/2019 20:48:13 PM”格式的日期。它可以包含单个日期,也可以包含用管道 | 连接的多个日期。我使用此查询来获取第一个查询并尝试将其转换为时间戳。
Select (CASE WHEN charindex('AM', COMPL_DATE)>=1 OR charindex('PM', COMPL_DATE) >= 1
THEN TO_TIMESTAMP ( SPLIT_PART( COMPL_DATE, '|' , 1), 'MM/DD/YYYY hh24:mi:ss AM')
ELSE TO_TIMESTAMP ( SPLIT_PART( COMPL_DATE, '|' , 1), 'MM/DD/YYYY hh:mi:ss')
END
) from some_table.
我收到此错误 Can't parse '03/23/2019 20:56:22 PM' as timestamp with format 'MM/DD/YYYY hh24:mi:ss AM'。
并不是所有行都失败。有一些行失败。但是,当我使用这些数据单独运行时,像这样 -
with tab as ( select '03/23/2019 20:56:22 PM' COMPL_DATE from dual )
SELECT
(CASE WHEN charindex('AM',COMPL_DATE)>=1 OR charindex('PM',COMPL_DATE) >= 1
THEN TO_TIMESTAMP ( SPLIT_PART( COMPL_DATE, '|' , 1), 'MM/DD/YYYY hh:mi:ss AM')
ELSE TO_TIMESTAMP ( SPLIT_PART( COMPL_DATE, '|' , 1), 'MM/DD/YYYY hh24:mi:ss')
END
) result
FROM tab ;
它工作正常。
任何帮助表示赞赏。
解决方案
不允许使用 24 小时制和 AM/PM 的组合:
'MM/DD/YYYY hh 24 :mi:ss AM '
HH24 - Two digits for hour (00 through 23); am/pm NOT allowed.
试试:'MM/DD/YYYY hh12:mi:ss AM'
推荐阅读
- node.js - 如何从 puppeteer 中的 page.evaluate() 返回值?
- python - 如何在 Django REST 中使用外键字段过滤 URL,正确覆盖 get_queryset 方法
- tcl - How to fix ‘can't read "node_(0)": no such variable’ error in tcl?
- reactjs - Google 身份验证 API 返回 OPERATION_NOT_ALLOWED 400
- python - Slugify 没有将标题保存为 slug Django 2:NoReverseMatch 错误
- javascript - 一些 onClick 操作后如何转到当前页面中的另一个选项卡
- java - Matlab中多行注释的正则表达式
- solr - 如何使 SOLR 搜索功能根据搜索输入顺序返回结果
- r - 分割环,即 R 中的非完整对象(在 EBIimage 或其他中)
- google-apps-script - 如何将 Google Apps 脚本项目 ID 链接/绑定到 Google 电子表格