In SQL Server is de transactie-sql SYSDATETIMEOFFSET()
functie retourneert een datetimeoffset(7) waarde die de datum en tijd bevat van de computer waarop het exemplaar van SQL Server wordt uitgevoerd. Deze waarde omvat de tijdzoneverschuiving.
Voorbeelden van gebruik hieronder.
Syntaxis
De syntaxis gaat als volgt:
SYSDATETIMEOFFSET ( )
Dus je roept de functie gewoon aan zonder argumenten.
Voorbeeld
Hier is een eenvoudig voorbeeld:
SELECT SYSDATETIMEOFFSET() AS Result;
Resultaat:
Result ---------------------------------- 2018-06-17 09:55:27.3221853 +10:00
De tijdzone-offset extraheren
U kunt de DATEPART()
. gebruiken functie om de tijdzone-offset te retourneren. Deze functie retourneert een geheel getal dat de tijdzone-offset in minuten vertegenwoordigt.
Voorbeeld:
SELECT SYSDATETIMEOFFSET() AS 'Date/time', DATEPART(TZoffset, SYSDATETIMEOFFSET()) AS 'TZ Offset';
Resultaat:
Date/time TZ Offset ---------------------------------- ----------- 2018-06-17 10:04:23.2316409 +10:00 600
U kunt ook de functie FORMAT() gebruiken om de tijdzone-offset als een tekenreeks te retourneren. In het bijzonder kunt u de z
. gebruiken , zz
, en/of zzz
argumenten om het in het vereiste formaat terug te geven.
Voorbeeld:
SELECT SYSDATETIMEOFFSET() AS 'Date/time', FORMAT(SYSDATETIMEOFFSET(), 'zz') AS 'zz', FORMAT(SYSDATETIMEOFFSET(), 'zzz') AS 'zzz';
Resultaat:
Date/time zz zzz ---------------------------------- -------------- -------------- 2018-06-17 10:27:33.7314840 +10:00 +10 +10:00
De retourwaarde converteren
U kunt ook functies gebruiken zoals CONVERT()
om de geretourneerde waarde om te zetten in een ander gegevenstype. Hier is een voorbeeld waarbij ik het omzet in een datum waarde en een tijd waarde:
SELECT CONVERT (date, SYSDATETIMEOFFSET()) AS 'Date', CONVERT (time, SYSDATETIMEOFFSET()) AS 'Time';
Resultaat:
Date Time ---------- ---------------- 2018-06-17 10:08:29.6377947
Als we dat eenmaal doen, verliezen we natuurlijk de tijdzone-offset.
Zie ook TODATETIMEOFFSET()
waarmee u een datetimeoffset . kunt krijgen waarde van een datetime2 uitdrukking, en SWITCHOFFSET()
waarmee u een tijdzone-offset kunt wijzigen.