我到处都在寻找这个,但是找不到我真正需要的东西。我有一个表,其中有一列,其中包含交易日期的unix时间戳。在MySQL中,我可以很容易地进行转换,但是在CockroachDB中执行此操作时遇到了问题。
我正在寻找的只是能够像在MySQL中执行以下操作一样进行查询:
SELECT
DATE(FROM_UNIXTIME(transaction_timestamp)),
COUNT(id)
FROM
purchases
有什么想法吗?
取决于transaction_timestamp
的数据类型。
如果是TIMESTAMP
,则可以使用以下之一将其转换为TIMESTAMP
:
DATE
DATE
如果只是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/FLOAT
和DATE
)的转换规则的更多信息。