2016-09-02 2 views
-1

Ich möchte ein DATETIME von einer Spalte zu einem UNIX TIMESTAMP konvertieren. Aber die Sache ist, dass diese Daten in einer fernen Zukunft, wie 2066.09.01 ... Sie können diese einfache Abfragen versuchen:SQL: Wie konvertiert man zukünftiges Datum mit UNIX_TIMESTAMP() in Timestamp?

SELECT UNIX_TIMESTAMP('2016-09-03 09:00:00') kehrt 1472886000 -> GOOD

SELECT UNIX_TIMESTAMP('2036-09-03 09:00:00') kehrt 2104038000 -> GOOD

SELECT UNIX_TIMESTAMP('2066-09-03 09:00:00') gibt 0 zurück -> SCHLECHT! WARUM??

Irgendeine Idee? Irgendeine Problemumgehung?

+0

Welche DBMS verwenden Sie? –

Antwort

1

Von Unixtimestamp.com:

Was am 19. Januar 2038 passiert?

An diesem Datum wird der Unix-Zeitstempel aufgrund eines 32-Bit-Überlaufs nicht mehr funktionieren. Vor diesem Moment müssen Millionen von Anwendungen entweder eine neue Konvention für Zeitstempel übernehmen oder auf 64-Bit-Systeme migriert werden, wodurch der Zeitstempel ein "Bit" mehr Zeit bekommt.

Verwandte Themen