[英]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.