Megosztás a következőn keresztül:


SYSDATETIMEOFFSET (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

Visszaadja a datetimeoffset(7) értéket, 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).

Transact-SQL szintaxis konvenciók

Szemantika

SYSDATETIMEOFFSET ( )  

Visszatérési típus

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 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() AS [SYSDATETIME()]  
    ,SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()]  
    ,SYSUTCDATETIME() AS [SYSUTCDATETIME()]  
    ,CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP]  
    ,GETDATE() AS [GETDATE()]  
    ,GETUTCDATE() AS [GETUTCDATE()];  

Itt van az eredmények összessége.

SYSDATETIME()      2007-04-30 13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00
SYSUTCDATETIME()   2007-04-30 20:10:02.0474381
CURRENT_TIMESTAMP  2007-04-30 13:10:02.047
GETDATE()          2007-04-30 13:10:02.047
GETUTCDATE()       2007-04-30 20:10:02.047

B. Dátum és idő átváltása napra

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());  

Itt van az eredmények összessége.

2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30

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

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

SELECT CONVERT (time, SYSDATETIME()) AS [SYSDATETIME()]  
    ,CONVERT (time, SYSDATETIMEOFFSET()) AS [SYSDATETIMEOFFSET()]  
    ,CONVERT (time, SYSUTCDATETIME()) AS [SYSUTCDATETIME()]  
    ,CONVERT (time, CURRENT_TIMESTAMP) AS [CURRENT_TIMESTAMP]  
    ,CONVERT (time, GETDATE()) AS [GETDATE()]  
    ,CONVERT (time, GETUTCDATE()) AS [GETUTCDATE()];  

Itt van az eredmények összessége.

SYSDATETIME()      13:18:45.3490361
SYSDATETIMEOFFSET()13:18:45.3490361
SYSUTCDATETIME()   20:18:45.3490361
CURRENT_TIMESTAMP  13:18:45.3470000
GETDATE()          13:18:45.3470000
GETUTCDATE()       20:18:45.3470000

Lásd még:

CAST és CONVERT (Transact-SQL)
Dátum és idő adattípusok és függvények (Transact-SQL)