sql - Redshift:将 HH:MM:SS 格式的字符串字段转换为秒和向后
问题描述
我一直在寻找一种
HH:MM:SS
在 Redshift 中将字符串字段从格式转换为秒的简单方法,因为该TIME_TO_SEC
函数不存在。我有一个呼叫中心数据库,其中包含这种格式的字符串字段,
HH:MM:SS
. 例如,如果是,00:05:10
那么我需要将其转换为310
. 我自己想出了以下方法,但必须有更好的方法:(SPLIT_PART("HANDLE TIME", ':', 1) * 3600) + (SPLIT_PART(SPLIT_PART("HANDLE TIME", ':', 2),':', 1) * 60) + CAST(SPLIT_PART("HANDLE TIME", ':', 3) AS INT)
一旦我总结了秒数,我需要将秒数转换回
HH:MM:SS
格式。所以1249
会变成字符串00:20:49
。在 MYSQL 中如此简单,在 RedShift 中则不然。
任何帮助将不胜感激。
解决方案
不幸的是,我手头没有 Redshift,但您可以执行以下操作:
select datediff(second,
timestamp('2000-01-01'),
timestamp('2000-01-01 ' || handle_time)
)
推荐阅读
- python - 如果 else 在 Python 中引发错误,则内联分配
- c++builder - 将 TIdString 转换为 AnsiString
- java - 为什么我的 java 渲染引擎没有更新窗口?
- python - Google Analytics API 和服务帐户身份验证
- javascript - 我正在制作一个获取请求,其目标是将坐标返回给一个对象,但它不起作用
- javascript - 如何从 youtube 制作视频
- python-3.x - Docker - pip install from requirements or copy installed modules
- ethereum - 路由器 pancakeswap v2 中的 TransferFrom 失败
- swift - 有没有办法通过 Swift 中的 Voiceover 使 Tilemap 的各个图块可访问和导航?
- ios - Swift:带有初始化程序的 TableView 返回 nil。尝试通过协议进行数据传递