sql - 在 Amazon Redshift 中将纪元转换为时间戳的函数
问题描述
我正在研究 Amazon Redshift 数据库,并且自纪元以来我的日期以毫秒为单位。我想将其转换为时间戳,并编写我在另一个线程上找到的这个查询
SELECT TIMESTAMP 'epoch' + column_with_time_in_ms/1000 *INTERVAL '1 second'
FROM table_name LIMIT 1000;
给我 YYYY-MM-DD HH:MM:SS 的结果。
我的问题是:如何在 Redshift 中编写一个以毫秒为单位的整数参数并进行此转换的 SQL 函数?
谢谢。
解决方案
您似乎想要一个包含转换代码的标量 UDF。
在 Redshift 中,你可以这样写:
create function ms_epoch_to_ts(int)
returns timestamp
immutable
as $$
select timestamp 'epoch' + $1 / 1000 * interval '1 second'
$$ language sql;
推荐阅读
- flutter - Flutter 像whatsapp call 一样长时间显示通知
- python - Python Telegram Bot,无法通过作业队列?
- arrays - 在C中检查字符串中的重复单词
- mysql - 对要安装的不同类型的 MySQL 应用程序感到困惑
- python - Pytorch 错误:“BiSeNet”对象没有属性“模块”
- numpy - 如何在numpy中解释数组的形状
- android - Flutter 项目错误,“任务 ':app:checkDebugAarMetadata' 执行失败。”
- gradle - Quarkus quarkusGenerateCode 失败
- c++ - 为什么我不能将左值引用绑定到右值,而概念可以?
- java - 将 springboot java RestHighLevelClient 连接到 aws elasticsearch