2017-02-28 193 views
0

我試圖將大查詢中捕獲的訪問開始時間變量轉換爲可讀日期或最好是時間戳。如何將訪問開始時間轉換爲大查詢中可讀的人類日期或時間戳?

我正在使用標準SQL。

我試過使用sec_to_timestamp,但我相信這隻適用於BQ內的傳統SQL。

谷歌文檔談到了從日期表達式和字符串表達式轉換爲時間戳,但是訪問開始時間是一個整數。

https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators

我已經看了下面的鏈接,並試圖在此代碼,但我得到的錯誤「找不到功能:整數」

Big Query - Google Analytics - Time diff between first visit and purchase

約會任何其他意見/ BQ捕獲的時間將會被大量接收。

謝謝

回答

3

假設相對於Unix紀元你的開始時間是在幾秒鐘內,你可以使用TIMESTAMP_SECONDS將其轉換爲一個時間戳。例如:

#standardSQL 
SELECT 
    TIMESTAMP_SECONDS(start_time_sec) AS timestamp 
FROM (
    SELECT 1488303123 AS start_time_sec 
); 

如果你想時間戳轉換爲日期,你可以使用EXTRACT一個可選的時區:

#standardSQL 
SELECT 
    EXTRACT(DATE FROM TIMESTAMP_SECONDS(start_time_sec) 
      AT TIME ZONE 'America/Los_Angeles') AS date 
FROM (
    SELECT 1488303123 AS start_time_sec 
); 
相關問題