如何在Google Bigquery中将时间戳转换为日期数据类型

时间:2016-09-07 15:31:11

标签: google-bigquery

我正在尝试使用以下方法将Timestamp数据类型列转换为Date数据类型:

bq query -q --destination_table = NEW_DATE_TABLE --replace" SELECT DATE(CURR_DT)AS CURR_DT from TEST.DATE_TABLE"

新表将列显示为STRING而不是日期。有没有办法将时间戳转换为日期数据类型。

Requested Screenshot

3 个答案:

答案 0 :(得分:5)

请考虑以下内容!
适用于旧版和标准SQL

SELECT CAST(DATE(CURR_DT) AS DATE) AS CURR_DT FROM TEST.DATE_TABLE
  

已添加以发表评论

尝试以下 - 如上所述 - 它适用于Legacy和Standard

SELECT CAST(DATE(CURR_DT) AS DATE) AS CURR_DT
FROM (SELECT CURRENT_TIMESTAMP() AS CURR_DT)  

如果您有兴趣使用Legacy SQL处理案例 - 提供有关CURR_DT字段的更多详细信息

答案 1 :(得分:2)

如果您使用Standard SQL,则可以执行以下操作:

print(xgb.plot.importance(importance_matrix = importance[1:5]))

如果curr_dt是重复字段,那么解决方案将如下所示:

SELECT * REPLACE(EXTRACT(DATE FROM curr_dt)) AS curr_dt FROM test.date_table

答案 2 :(得分:0)

尝试一下

SELECT TIMESTAMP_SECONDS(CAST(CURR_DT AS INT64)) AS CURR_DT FROM TEST.DATE_TABLE