Heim >Datenbank >MySQL-Tutorial >Wie repliziere ich die Funktion UNIX_TIMESTAMP() von MySQL in SQL Server?

Wie repliziere ich die Funktion UNIX_TIMESTAMP() von MySQL in SQL Server?

DDD
DDDOriginal
2024-12-23 09:20:14164Durchsuche

How to Replicate MySQL's UNIX_TIMESTAMP() Function 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn