簡體   English   中英

如何從BigQuery獲取UTC中的當前TIMESTAMP?

[英]How to get current TIMESTAMP in UTC from BigQuery?

我想在UTC添加我的查詢TIMESTAMP列。

我知道BigQuery有CURRENT_TIMESTAMP()函數,但它沒有說明如何將其轉換為UTC

MYSQL我會這樣做:

SELECT UTC_TIMESTAMP()

BigQuery(僅限標准SQL)中的等價物是什么?

TIMESTAMP不存儲或使用時區,如文檔中所述。 解析它時,它可能有一個時區,從保存時轉換。

時間戳表示絕對時間點,與任何時區或常規(如夏令時)無關。

更具體地說

時間戳只是1970-01-01 00:00:00 UTC的偏移量,假設每分鍾恰好有60秒。 閏秒不表示為存儲時間戳的一部分。

查詢CURRENT_TIMESTAMP() ,它還通過零時區偏移顯式顯示它在UTC中。 所以它是基於此的UTC時間戳。

使用它可能會有問題,因為它不會在UTC中存儲任何內容,也不關心閏秒。 規范說明了這一點:

閏秒只能通過測量現實世界時間的函數來觀察。 在這些函數中,當存在閏秒時,可以跳過或重復時間戳秒。

因此,如果需要這些閏秒,則可能需要在特定時區使用另一種數據類型來處理閏秒。

轉換也解釋如下:

如果輸入包含在秒字段中使用“:60”表示閏秒的值,則在轉換為時間戳值時不會保留該閏秒。 而是將該值解釋為下一分鍾的秒字段中帶有“:00”的時間戳。

暫無
暫無

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

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