web-dev-qa-db-fra.com

Comment puis-je extraire la date de l'époque Epoch dans BigQuery SQL

  1. J'ai la date stockée dans Epoch Time et je veux en extraire Date. J'ai essayé le code ci-dessous et j'ai null en sortie.

    date_add( (timestamp( Hp.ASSIGN_TIME)), 1970-01-01,"second" ) as Extracted_date_Epoch
    

    Format de l'heure Ex (1424184621000000)

  2. Une dernière question. Le code ci-dessous me donne les jours correctement mais pas les jours ouvrés, mais tous les jours, Est-il possible d’obtenir seulement les jours ouvrables entre deux fois stockés dans l’époque?

    INTEGER(((Hp.ASSIGN_TIME - Hp.ARRIVAL_TIME) / 1000000) / 86400) as Days
    
12
Zia J

Pour convertir timestamp en date, vous pouvez utiliser Fonctions date/heure de BigQuery :

SELECT TIMESTAMP(1424184621000000)       # 2015-02-17 14:50:21 UTC  
SELECT DATE(TIMESTAMP(1424184621000000)) # 2015-02-17   
SELECT DATE(TIMESTAMP('2015-02-17'))     # 2015-02-17   
SELECT INTEGER(TIMESTAMP('2015-02-17'))  # 1424131200000000

Pour calculer le nombre de jours entre deux dates (par exemple entre le 01/06/15 et le 20/06/15), vous pouvez procéder comme suit:

SELECT (DATEDIFF(TIMESTAMP('2015-06-20'), TIMESTAMP('2015-06-01')) + 1)

Et enfin, pour calculer les jours ouvrables, vous pouvez utiliser les éléments suivants:

SELECT
   (DATEDIFF(TIMESTAMP('2015-06-20'), TIMESTAMP('2015-06-01')) + 1)
  -(INTEGER((DATEDIFF(TIMESTAMP('2015-06-20'), TIMESTAMP('2015-06-01')) + 1) / 7) * 2)
  -(CASE WHEN DAYOFWEEK(TIMESTAMP('2015-06-01')) = 1 THEN 1 ELSE 0 END)
  -(CASE WHEN DAYOFWEEK(TIMESTAMP('2015-06-20')) = 7 THEN 1 ELSE 0 END)

Il s’agit d’un calcul simple en jours ouvrables, en considérant le samedi et le dimanche comme des week-ends et n’impliquant aucun jour férié.

18
Qorbani

Si vous utilisez le dialecte standardSQL dans BigQuery, cette fonction effectue la conversion en horodatage lisible par l'homme TIMESTAMP_MICROS (1424184621000000) -> 2015-02-17 14:50:21 UTC. Référence: https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#timestamp-string

15
Krishnaa