Ich versuche, die date_add-Funktion mit einem Zeitstempel in bigquery zu verwenden, aber ich bekomme 'Null' als Ergebnis der Ausgabe. Ich habe date_add erfolgreich zuvor verwendet, daher verstehe ich das Problem nicht. Hier ist ein bisschen Code.Die Verwendung der Funktion date_add mit einem Zeitstempel in bigquery führt zu null für die Ausgabe
SELECT
userId,
MAX(most_recent_session) most_recent_session,
date_add(MAX(most_recent_session), 24, 'HOUR') as added_a_day,
FROM
(
SELECT
userId,
LAG(time, 0) OVER (PARTITION BY userId ORDER BY time) as most_recent_session,
LAG(time, 1) OVER (PARTITION BY userId ORDER BY time) as previous_session,
FROM TABLE_DATE_RANGE(dataset.tablename_, TIMESTAMP(DATE_ADD(CURRENT_TIMESTAMP(), -30, "DAY")), CURRENT_TIMESTAMP())
GROUP BY
userId,
time
)
)
group by
userID
Also, was ich erwarten würde, würde drei Spalten raus sein, die erste enthält userId, die zweite einen Zeitstempel für die Benutzer letzten Sitzung, und dann ein drittes mit 24 Stunden hinzugefügt, um es enthält. Aber in der dritten Spalte, anstatt den Wert in der zweiten Spalte mit 24 Stunden hinzu zu bekommen, bekomme ich 'null'.
Irgendwelche Gedanken?
Ich habe das gleiche Problem. Es sieht so aus, als ob DATE_ADD einige seltsame Probleme mit Argumenten hat. Works: DATE_ADD (CURRENT_TIMESTAMP(), 1, 'HOUR') Null: DATE_ADD (NOW(), 1, 'HOUR') Lesen der Dokumentation, die rückwärts scheint. –