2017-02-28 3 views
0

J'essaye de convertir la variable de temps de début de visite qui est capturée dans la grande requête à une date lisible ou de préférence timestamp. J'utilise SQL standard.Comment convertir l'heure de début de la visite en une date humaine lisible ou un horodatage dans Big Query?

J'ai essayé d'utiliser sec_to_timestamp mais je crois que cela ne fonctionne que dans l'ancien SQL dans BQ.

La documentation google parle de la conversion en timestamp à partir de l'expression de date et de l'expression de chaîne, mais l'heure de début de la visite est un entier.

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

Je l'ai regardé le lien suivant et ai essayé le code, mais je reçois la fonction « not found: entier » erreur

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

Tout autre avis sur la date/les temps capturés par BQ seraient grandement reçus.

Merci

Répondre

3

En supposant que votre temps de démarrage est en secondes par rapport à l'époque Unix, vous pouvez utiliser TIMESTAMP_SECONDS pour le convertir en un horodatage. Par exemple:

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

Si vous voulez convertir l'horodatage à une date, vous pouvez utiliser EXTRACT avec un fuseau horaire en option:

#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 
);