Ich habe eine ganze Zahl 20160115201307 und ich möchte als Timestamp konvertieren 2016-01-15 20:13:07 UTC.Ich habe Timestamp (Datum) versucht, aber es gab falsches Datum als 1970-08- 22 08:01:55 UTC. Jeder schlägt vor, welche Frage ich verwenden muss?Bigquery - Ganzzahl zu Timestamp
Antwort
Das ist wahrscheinlicher eine Zeichenfolge, keine Ganzzahl, und Sie müssen regulären Ausdruck verwenden, um die Zeichenfolge in Komponenten zu analysieren.
SELECT ds,
TIMESTAMP(REGEXP_REPLACE(ds, r'(....)(..)(..)(..)(..)(..)', r'\1-\2-\3 \4:\5:\6')) ts
FROM (SELECT '20160115201307 ' ds)
kehrt
+-----+----------------+-------------------------+--+
| Row | ds | ts | |
+-----+----------------+-------------------------+--+
| 1 | 20160115201307 | 2016-01-15 20:13:07 UTC | |
+-----+----------------+-------------------------+--+
Mit Standard-SQL:
SELECT PARSE_TIMESTAMP('%Y%m%d%H%M%S', CAST(20160115201307 AS STRING))
Mit 900 Datensätze in einer Tabelle:
SELECT PARSE_TIMESTAMP('%Y%m%d%H%M%S', CAST(col AS STRING))
FROM `dataset.table`
Standard-SQL zu aktivieren:
Danke für die Hilfe !! Aber ich bekomme den Fehler "Fehler beim Parsen von String" 0 "" wenn ich Abfrage ausführen ... – nikhil
Ich habe einige Timestamp Felder benannt als 0 in einigen Datensätzen. – nikhil
Bedeutet ein Wert von 0 'NULL'? In der Besetzung könntest du stattdessen 'CAST (IF (col = 0, NULL, col) AS STRING)' machen. –
- 1. BigQuery: konvertieren Epoche in TIMESTAMP
- 2. BigQuery: Coalesce TIMESTAMP konvertiert, um ganzzahlige
- 3. SQL, Ganzzahl für Timestamp-Subtraktion konvertieren
- 4. BigQuery Zeitstempel zu Ruby Zeit
- 5. Unterschied in Minuten zwischen 2 bigquery timestamp Felder
- 6. BigQuery concatatenation
- 7. BigQuery Wildcard mit TABLE_DATE_RANGE()
- 8. Zeichen [hex] zu Ganzzahl
- 9. Ganzzahl zu Zeichenfolge C
- 10. ruby Ganzzahl zu boolean
- 11. Timestamp
- 12. BigQuery Daten zu vergleichen und mit einem Fall, wenn Anweisung
- 13. konvertieren mysql timestamp zu mktime
- 14. Datum zu Timestamp mit Nanos
- 15. Java: lange konvertieren zu Timestamp
- 16. Weighted Average in BigQuery
- 17. bigquery interner Fehler case condtion
- 18. Bigquery hinzufügen Spalten zu Tabellenschema
- 19. BigQuery Join und UDF
- 20. BigQuery Google Analytics-SitzungenWithEvent Metrik
- 21. Timestamp zum String mit benutzerdefiniertem Format
- 22. Java convert Float zu Ganzzahl
- 23. DataGridView DataSource // Ganzzahl zu Symbol
- 24. BigQuery MAX() -Funktion
- 25. Python: UTC Timestamp von pytz lokalisierten Timestamp
- 26. Wie funktioniert JSON_EXTRACT in BigQuery?
- 27. BigQuery Tabelle Dekorateur vs AppEngine RequestLog Zeitstempel
- 28. Rang() in bigquery
- 29. MongoDb timestamp
- 30. PHP Datum/Uhrzeit zu Timestamp (benutzerdefiniertes Format)
Ich habe 900 Datensätze in einer table.how dies für alle Datensätze zu bewerben? – nikhil
Sie können eine Abfrage ausführen, die die Umwandlung durchführt, und sie in die gleiche Tabelle zurückschreiben. Sie können unter den Optionen in der BQ-Webbenutzerschnittstelle sehen, dass Sie dieselben Tabellenziele angeben können. Stellen Sie sicher, dass Sie alle benötigten Spalten enthalten. – Pentium10
Also, muss ich diese Abfrage für 900 mal durchführen? – nikhil