2017-07-28 7 views
0

Ich habe viele Datumsfunktionen für Cloud BigQuery gefunden, und ich habe einen bestimmten Fall, und keine dieser verfügbaren Funktionen scheint zu funktionieren. Meine Daten hätten eine Datumsspalte im 'MMddyy'-Format und ich möchte sie in das' JJJJ-MM-TT'-Format konvertieren. Wie kann ich das erreichen?Datumsformatierung in BigQuery

Antwort

2

Dies ist eine Möglichkeit:

#standardSQL 
WITH data AS(
    SELECT '072817' as dt UNION ALL 
    select NULL UNION ALL 
    SELECT '' 
) 

SELECT IF(dt != '', FORMAT_DATE("%Y-%m-%d", PARSE_DATE("%m%d%y", dt)), dt) FROM data 
+0

Noch eine Frage, was passiert, wenn wir einen leeren Wert als Eingabe zu diesem Zeitpunkt Formatierungsfunktion erhalten. Meine Datenmenge enthält einige leere Werte für das Feld "Datum", die die Abfrage nicht bestehen. Ich möchte nicht, dass meine Abfrage fehlschlägt. Was ich möchte, dass meine Abfrage einen gültigen Wert hat, wandle sie in mein gewünschtes Format um. Ansonsten lass das Leerzeichen so, wie es ist. –

+0

@BalajeeVenkatesh Ich habe meine Frage aktualisiert, lassen Sie mich wissen, ob es für Sie funktioniert. –