首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用SQL将字符串中的纪元时间转换为Ignite中的时间戳

如何用SQL将字符串中的纪元时间转换为Ignite中的时间戳
EN

Stack Overflow用户
提问于 2021-07-16 13:31:56
回答 1查看 86关注 0票数 0

我必须将Ignite表中包含纪元时间的varchar列转换为时间戳。

我试过了,但找不到任何可用的日期函数。

表中的纪元时间示例:"20210428060207“

有没有在Ignite中实现SQL查询的方法?

实际问题:我必须从这个纪元时间中提取小时、日和月。

EN

回答 1

Stack Overflow用户

发布于 2021-07-16 18:40:01

您可以尝试利用DATEADD functionLong-represented值转换为TIMESTAMP,同时使用EXTRACT function从生成的TIMESTAMP中获取所需的部分。

代码语言:javascript
运行
复制
SELECT 
   EXTRACT (HOUR FROM DATEADD('MILLISECOND', EPOCH_FIELD, DATE '1970-01-01')) AS HOUR,
   EXTRACT (DAY FROM DATEADD('MILLISECOND', EPOCH_FIELD, DATE '1970-01-01')) AS DAY,
   EXTRACT (MONTH FROM DATEADD('MILLISECOND', EPOCH_FIELD, DATE '1970-01-01')) AS MONTH
FROM "schema_name".TABLE_NAME;

另一种选择是使用Ignite SQL函数。可以将转换逻辑放在那里。在这种情况下,SQL调用会更简单(FOO在这里是一个定制函数)。

代码语言:javascript
运行
复制
SELECT FOO(EPOCH_FIELD) FROM "schema_name".TABLE_NAME;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68403879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档