如何在CockroachDB中将Unix时间戳转换为日期?

问题描述 投票:0回答:1

我到处都在寻找这个,但是找不到我真正需要的东西。我有一个表,其中有一列,其中包含交易日期的unix时间戳。在MySQL中,我可以很容易地进行转换,但是在CockroachDB中执行此操作时遇到了问题。

我正在寻找的只是能够像在MySQL中执行以下操作一样进行查询:

SELECT
  DATE(FROM_UNIXTIME(transaction_timestamp)),
  COUNT(id)
FROM 
  purchases

有什么想法吗?

timestamp unix-timestamp cockroachdb
1个回答
0
投票

取决于transaction_timestamp的数据类型。

如果是TIMESTAMP,则可以使用以下之一将其转换为TIMESTAMP

如果只是SELECT transaction_timestamp :: DATE(或SELECT CAST(transaction_timestamp AS DATE)INT),则首先需要将其转换为时间戳。

  • INT
  • DECIMAL

DO NOT直接从FLOAT转换为SELECT transaction_timestamp :: TIMESTAMP :: DATE,将值解释为自Unix时代以来的days个数。

CRDB文档具有有关SELECT CAST(CAST(transaction_timestamp AS TIMESTAMP) AS DATE)以及每种数据类型(INT/DECIMAL/FLOATDATE)的转换规则的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.