【问题标题】:Get Timestamp difference in ksql获取ksql中的时间戳差异
【发布时间】:2021-08-18 19:34:36
【问题描述】:

我需要在 KSQL confluent.cloud 中计算两个时间戳的差异。

以下是我的疑问,

SELECT
  ENTITY -> IENTITYID,
  ENTITY -> DTINSERTDATE,
  ENTITY -> DTUPDATEDATE, 
  HEADERS -> OPERATION,
  TIMESTAMPTOSTRING(ROWTIME, 'yyyy-MM-dd HH:mm:ss.SSS') AS rowtime_formatted,
  CAST(ENTITY -> DTUPDATEDATE AS TIMESTAMP) AS UpdatedDateFROMtblEntity
FROM tblEntity
EMIT CHANGES
LIMIT 10;

在这里,我有两个时间戳,例如 ROWTIME 和 UpdatedDateFROMtblEntity。那么,如何计算这些时间戳的差异?我需要以毫秒为单位。请帮我解决这个问题。

【问题讨论】:

  • 希望这可以帮助您了解情况,我通过除以 1000 cast(DTUPDATEDATE as BIGINT)-CAST(rowtime AS BIGINT))/1000) 将 epoc 值转换为毫秒数有所不同跨度>

标签: apache-kafka ksqldb confluent-cloud


【解决方案1】:
SELECT UNIX_TIMESTAMP(col1) - UNIX_TIMESTAMP(col2) 
FROM STREAM1 EMIT CHANGES;

参考:https://docs.ksqldb.io/en/latest/developer-guide/ksqldb-reference/scalar-functions/#unix_timestamp

【讨论】:

  • 根据How to Answer,代码和链接不算作答案。预计直接在这里解释。
猜你喜欢
  • 2019-04-20
  • 1970-01-01
  • 2011-06-13
  • 2012-02-28
  • 1970-01-01
  • 2013-05-18
  • 2014-05-04
  • 2012-06-03
  • 2015-06-27
相关资源
最近更新 更多