簡體   English   中英

無法在 Bigquery 中將我的時間列從字符串更改為時間

[英]Unable to change my time column from string to time in Bigquery

我有一個專欄,我在 Excel 中制作為 HH:MM:SS,但是當我將它移至 Bigquery 時,它保留了格式但更改為字符串。 我需要把它改回來,這樣我才能找到平均值。

起初我只是嘗試改變表格:

ALTER TABLE `circular-nova-330422.trip_data_Cyclist.trip_data-12mths`
ALTER COLUMN ride_length SET DATA TYPE TIME;

但是得到這個錯誤:

ALTER TABLE ALTER COLUMN SET DATA TYPE 要求現有列類型 (STRING) 可分配給新類型 (TIME)

我在這里發現了一個問題,說我應該使用 parse_time,但是當我這樣做時,我得到了這個:

SELECT PARSE_TIME("%H:%M:%S", ride_length)
FROM `circular-nova-330422.trip_data_Cyclist.trip_data-12mths`;

無法解析輸入字符串”

我做錯了什么,還有另一種方法可以永久更改數據類型嗎?

這將解析 00:00:00 到 23:59:59 之間的任何時間戳

這是您的 ride_length 值的格式嗎?

也有可能有空字符串作為值的行嗎?

SELECT PARSE_TIME("%H:%M:%S", "") 會導致您在上面發布的錯誤。

要解決這個問題,您可以嘗試

SELECT PARSE_TIME("%H:%M:%S", nullif(ride_length, ""))
FROM `circular-nova-330422.trip_data_Cyclist.trip_data-12mths`;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM