我有一個名為 startup_date 的列,它在 bigquery 中定義為 STRING 資料型別
其中包含“2001-09-09 02:19:38.0 UTC”之類的值和空值
請幫助使用轉換功能只獲取日期值而不是小時和分鐘
在下面使用函式并獲取無效的日期時間字串錯誤訊息
提取(日期從日期時間(CASE when startup_date = '' THEN NULL ELSE startup_date END))
uj5u.com熱心網友回復:
該DATE和TIMESTAMP功能你正在尋找什么。如果您有一個 STRING 列,其格式類似于TIMESTAMP,您可以簡單地應用它。然后,DATE將僅提取日期并處理NULL值。
WITH my_data AS
(
SELECT TIMESTAMP("2001-09-09 02:19:38.0 UTC") AS startup_date UNION ALL
SELECT NULL UNION ALL
SELECT "2021-10-10 07:29:30.0 UTC"
)
SELECT DATE(startup_date) as date FROM my_data
回傳:

uj5u.com熱心網友回復:
您可以嘗試從 1 到 10 的 substr[1] 來獲取日期,然后您可以使用 safe.parse_date 函式 [2]。
SELECT safe.parse_date('%Y-%m-%d', substr(startup_date, 1, 10)) AS startup_date FROM you_dataset.your_table
它回傳這個:

[1] https://cloud.google.com/bigquery/docs/reference/standard-sql/string_functions#substr
[2] https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#parse_date
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/327929.html
標籤:sql 日期 谷歌-bigquery
