sql - 在 Redshift 中将数字日期时间转换为 AM PM 时间

标签 sql timestamp amazon-redshift type-conversion numeric

我有一个名为 tran_datetime 的字段,它是一个 14 位数字字段。

值存在为 20130216131736 ...即 2013-02-16 01:17:36 PM

在查询导出中,我需要将最后 6 位数字转换为时间戳

这是我发现的最接近的版本。

(SUBSTRING(tran_datetime,9,2) || ':' || SUBSTRING(tran_datetime,11,2) || ':' || SUBSTRING(tran_datetime,13,2)) ,

但这返回的时间为 13:17:36。我正在尝试找到一种将其转换为 01:17:36 PM 格式的方法。

类似这样的事情...

to_char((SUBSTRING(tran_datetime,9,2) || ':' || SUBSTRING(tran_datetime,11,2) || ':' || SUBSTRING(tran_datetime,13,2)), 'HH12:MI:SS')

cast((SUBSTRING(tran_datetime,9,2) || ':' || SUBSTRING(tran_datetime,11,2) || ':' || SUBSTRING(tran_datetime,13,2)) as TIMESTAMP)

但我尝试的大多数操作都会出错,最常见的是时间戳超出范围

最佳答案

这应该适合你。

select to_char(cast('131736' as time),'HH12:MI:SS AM')

如果我做出了错误的假设,请发表评论,我会重新调整我的答案。

关于sql - 在 Redshift 中将数字日期时间转换为 AM PM 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44029192/

相关文章:

python - 无论我尝试多少种不同的类型,插入语句永远不会起作用。 SQLite3 pyscripter

c++ - 有没有办法从 GUID 中找到时间戳(创建时间)?

Excel VBA : Convert a date string to a Unix timestamp

sql - 相当于 Amazon Redshift 中的 T-SQL 表值构造函数?

python - 用户无权担任 IAM 角色

mysql - 如何在添加值的同时从一张表中获取信息?

sql - 如何限制连接查询的结果?

mysql - SQL - 将表中的某些行复制到同一个表并更改它们的值

excel - VBA 计算两个时间戳之间有多少天、小时、分钟或秒?

sql - Date_Trunc 无法按预期工作