如何在BigQuery中将纪元转换为日期时间?

dij*_*eah 0 sql google-bigquery google-cloud-platform

我在bigquery表中有一列,以毫秒为单位的历元值。其中也包括1970年之前日期的负历元值。

如何转换成他们使用标准和传统SQL的格式DATETIME格式:1998-10-18 13:45:55

即使对于1970年之前的日期,即负历元值,这也应该起作用。

我试过了 EXTRACT(DATETIME FROM TIMESTAMP_MILLIS(-2494865480000));

但是它返回了一个包含T的值: 1890-12-10T05:48:40

Tam*_*ein 5

除了我不理解您对1970年之前的日期的期望之外,您可以使用FORMAT_DATETIME函数将日期结果的格式设置为:

SELECT FORMAT_DATETIME("%F %T", EXTRACT(DATETIME FROM TIMESTAMP_MILLIS(-2494865480000)))
Run Code Online (Sandbox Code Playgroud)

该SQL的结果是

1890-12-10 05:48:40