如何在 CockroachDB 中将 Unix 时间戳转换为日期?
How do I convert Unix timestamp to date in CockroachDB?
我到处找这个,但找不到我需要的东西。我有一个 table,其中有一列包含交易日期的 unix 时间戳。在 MySQL 中,我可以非常轻松地转换它,但在 CockroachDB 中执行此操作时遇到了问题。
我正在寻找的只是能够像下面这样在 MySQL 中完成的查询:
SELECT
DATE(FROM_UNIXTIME(transaction_timestamp)),
COUNT(id)
FROM
purchases
有什么想法吗?
这取决于transaction_timestamp
的数据类型。
如果是 TIMESTAMP
, you can convert it to DATE
使用以下之一:
SELECT transaction_timestamp :: DATE
SELECT CAST(transaction_timestamp AS DATE)
如果只是 INT
(或 DECIMAL
或 FLOAT
),您首先需要将其转换为时间戳。
SELECT transaction_timestamp :: TIMESTAMP :: DATE
SELECT CAST(CAST(transaction_timestamp AS TIMESTAMP) AS DATE)
不要 直接从 INT/DECIMAL/FLOAT
转换为 DATE
,将值解释为 天 自 Unix 时代以来。
CRDB 文档有更多关于 casting as well as casting rules for each data type (TIMESTAMP
and DATE
) 的信息。
我到处找这个,但找不到我需要的东西。我有一个 table,其中有一列包含交易日期的 unix 时间戳。在 MySQL 中,我可以非常轻松地转换它,但在 CockroachDB 中执行此操作时遇到了问题。
我正在寻找的只是能够像下面这样在 MySQL 中完成的查询:
SELECT
DATE(FROM_UNIXTIME(transaction_timestamp)),
COUNT(id)
FROM
purchases
有什么想法吗?
这取决于transaction_timestamp
的数据类型。
如果是 TIMESTAMP
, you can convert it to DATE
使用以下之一:
SELECT transaction_timestamp :: DATE
SELECT CAST(transaction_timestamp AS DATE)
如果只是 INT
(或 DECIMAL
或 FLOAT
),您首先需要将其转换为时间戳。
SELECT transaction_timestamp :: TIMESTAMP :: DATE
SELECT CAST(CAST(transaction_timestamp AS TIMESTAMP) AS DATE)
不要 直接从 INT/DECIMAL/FLOAT
转换为 DATE
,将值解释为 天 自 Unix 时代以来。
CRDB 文档有更多关于 casting as well as casting rules for each data type (TIMESTAMP
and DATE
) 的信息。