SYSDATETIMEOFFSET (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-adatbázis a Microsoft Fabricben

Az SYSDATETIMEOFFSET Transact-SQL (T-SQL) függvény egy datetimeoffset(7) értéket ad vissza, amely tartalmazza annak a számítógépnek a dátumát és idejét, amelyen az SQL Server példánya fut. Az időzóna eltolása is benne van.

Az összes Transact-SQL dátum- és időadattípus és -függvény áttekintése: Dátum és idő adattípusok és függvények.

Transact-SQL szintaxis konvenciók

Szemantika

SYSDATETIMEOFFSET ( )

Visszatérési típusok

datetimeoffset(7)

Megjegyzések

Transact-SQL utasítások bárhol hivatkozhatnak a SYSDATETIMEOFFSET-re, ahol datetimeoffset kifejezésre hivatkozhatnak.

A SYSDATETIMEOFFSET egy nemdeterminisztikus függvény. Az oszlopban lévő függvényre hivatkozó nézetek és kifejezések nem indexelhetők.

Megjegyzés:

Az SQL Server a GetSystemTimeAsFileTime() Windows API segítségével szerezi meg a dátum- és időértékeket. A pontosság attól függ, hogy a Windows melyik számítógép hardverén és verzióján fut az SQL Server példánya. Ennek az API-nak a pontossága 100 nanoszekundumon van rögzítve. A pontosság a GetSystemTimeAdjustment() Windows API segítségével határozható meg.

Példák

Az alábbi példák a hat SQL Server rendszerfüggvényt használják, amelyek az aktuális dátumot és időt adják vissza a dátum, az idő vagy mindkettő visszaadásához. Az értékek sorozatban jelennek meg; ezért a tört másodpercük eltérő lehet.

A. A dátum- és időfüggvények által visszaadott formátumok megjelenítése

Az alábbi példa a dátum- és időfüggvények által visszaadott különböző formátumokat mutatja be.

SELECT SYSDATETIME(),
       SYSDATETIMEOFFSET(),
       SYSUTCDATETIME(),
       CURRENT_TIMESTAMP,
       GETDATE(),
       GETUTCDATE(),
       CURRENT_DATE;

Itt van az eredmények összessége.

SYSDATETIME()        2026-09-01 16:15:37.7418724
SYSDATETIMEOFFSET()  2026-09-01 16:15:37.7418724 -06:00
SYSUTCDATETIME()     2026-09-01 22:15:37.7418724
CURRENT_TIMESTAMP    2026-09-01 16:15:37.740
GETDATE()            2026-09-01 16:15:37.740
GETUTCDATE()         2026-09-01 22:15:37.740
CURRENT_DATE         2026-09-01

B. Dátum és idő konvertálása dátumra

A következő példa megmutatja, hogyan alakíthatod át a dátum- és időértékeket -re.date

SELECT CONVERT (DATE, SYSDATETIME()),
       CONVERT (DATE, SYSDATETIMEOFFSET()),
       CONVERT (DATE, SYSUTCDATETIME()),
       CONVERT (DATE, CURRENT_TIMESTAMP),
       CONVERT (DATE, GETDATE()),
       CONVERT (DATE, GETUTCDATE()),
       CURRENT_DATE;

Itt van az eredmények összessége.

SYSDATETIME()        2026-09-01
SYSDATETIMEOFFSET()  2026-09-01
SYSUTCDATETIME()     2026-09-01
CURRENT_TIMESTAMP    2026-09-01
GETDATE()            2026-09-01
GETUTCDATE()         2026-09-01
CURRENT_DATE         2026-09-01

C. Dátum és idő átalakítása időpontokra

A következő példa megmutatja, hogyan alakíthatod át a dátum- és időértékeket -re.time

SELECT CONVERT (TIME, SYSDATETIME()),
       CONVERT (TIME, SYSDATETIMEOFFSET()),
       CONVERT (TIME, SYSUTCDATETIME()),
       CONVERT (TIME, CURRENT_TIMESTAMP),
       CONVERT (TIME, GETDATE()),
       CONVERT (TIME, GETUTCDATE());

Itt van az eredmények összessége.

SYSDATETIME()        16:15:37.7418724
SYSDATETIMEOFFSET()  16:15:37.7418724
SYSUTCDATETIME()     22:15:37.7418724
CURRENT_TIMESTAMP    16:15:37.740
GETDATE()            16:15:37.740
GETUTCDATE()         22:15:37.740