Heim >Datenbank >MySQL-Tutorial >Wie repliziere ich die Funktion UNIX_TIMESTAMP() von MySQL in SQL Server?
UNIX_TIMESTAMP in SQL Server abfragen
Die Funktion UNIX_TIMESTAMP() von MySQL bietet eine präzise Methode zum Konvertieren eines Datums-/Uhrzeitwerts in den entsprechenden UNIX-Zeitstempel. Allerdings kann die Implementierung einer ähnlichen Funktionalität in SQL Server etwas Einfallsreichtum erfordern. Für Systeme, auf denen SQL Server 2008 und höher ausgeführt wird, können Sie diese Einschränkung wie folgt überwinden:
Lösung 1: Daten vor 1970 ignorieren
Für Anwendungen, die nicht funktionieren Für Daten vor 1970 können Sie die DATEDIFF-Funktion von SQL Server nutzen folgt:
SELECT DATEDIFF(s, '1970-01-01 00:00:00', DateField)
Dieser Ausdruck subtrahiert die Basislinie „1970-01-01 00:00:00“ vom angegebenen DateField und erzielt so effektiv ein ähnliches Ergebnis wie MySQLs UNIX_TIMESTAMP().
Lösung 2: Präzision für SQL Server 2016 und Später
Für eine feinere Präzision bis hin zu Millisekunden, verfügbar in SQL Server 2016 und höher, verwenden Sie die Funktion DATEDIFF_BIG:
SELECT DATEDIFF_BIG(ms, '1970-01-01 00:00:00', DateField)
Diese Variante bietet Granularität auf Millisekundenebene im UNIX-Zeitstempel Konvertierung.
Das obige ist der detaillierte Inhalt vonWie repliziere ich die Funktion UNIX_TIMESTAMP() von MySQL in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!