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

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

A cikk szakaszai az összes Transact-SQL dátum- és időadattípust és függvényt ismertetik, beleértve a használatot és a példákat is.

Dátum- és időadatok típusai

Az alábbi táblázat a Transact-SQL dátum- és időadattípusokat sorolja fel.

Adattípus Formátum Tartomány Pontosság Tárolási méret (bájt) Felhasználó által definiált törtmásodperces pontosság Időzóna eltérése
time HH:mm:ss[.nnnnnnn] 00:00:00.0000000-től 23:59:59.999999-ig 100 nanoszekundum 3-tól 5-ig Igen Nem
date yyyy-MM-dd 0001-01-01-től 9999-12-31-ig 1 nap 3 Nem Nem
smalldatetime yyyy-MM-dd HH:mm:ss 1900-01-01-től 2079-06-06-ig 1 perc 4 Nem Nem
datetime yyyy-MM-dd HH:mm:ss[.nnn] 1753-01-01-től 999-12-31-ig 0,00333 másodperc 8 Nem Nem
datetime2 yyyy-MM-dd HH:mm:ss[.nnnnnnnn] 0001-01-01 00:00:00.0000000-ig 9999-12-31-ig 23:59:59.9999999 100 nanoszekundum 6-tól 8-ig Igen Nem
datetimeoffset yyyy-MM-dd HH:mm:ss[.nnnnnnn] [+|-]HH:mm 0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999 (UTC-ben) 100 nanoszekundum 8–10 Igen Igen

Megjegyzés:

A Transact-SQL sorverziós adattípus nem dátum vagy időpont adattípus. Az időbélyeg a rowversion elavult szinonimája.

Dátum- és időfüggvények

Az alábbi táblázatok felsorolják a Transact-SQL dátum- és időfüggvényeket. További információ a determinizmusról: Determinisztikus és Nemdeterminista függvények.

Függvények, amelyek rendszer dátum- és időértékeit adják vissza

Transact-SQL az összes rendszer dátum- és időértékét az SQL Server példánya futó számítógép operációs rendszeréből vezeti le.

Nagyobb pontosságú rendszer dátum- és időfüggvények

Az SQL Server 2008 (10.0.x) óta az adatbázismotor a Windows API használatával származtatotta a GetSystemTimeAsFileTime() dátum- és időértékeket. A pontosság attól függ, hogy milyen hardveren és windowsos verzión fut az SQL Server példánya. Ennek az API-nak a precizitása 100 nanoszekundumra rögzített. A pontosság meghatározásához használja a GetSystemTimeAdjustment() Windows API-t.

Funkció Szemantika Visszaadott érték Adattípus visszaadva Determinizmus
SYSDATETIME SYSDATETIME() A SYSDATETIME függvény egy datetime2(7) értéket ad vissza, amely annak a számítógépnek a dátumát és idejét tartalmazza, amelyen az SQL Server-példány fut. A visszaadott érték nem tartalmazza az időzóna eltolást. datetime2(7) Nemdeterminisztikus
SYSDATETIMEOFFSET SYSDATETIMEOFFSET () A SYSDATETIMEOFFSET függvény egy datetimeoffset(7) értéket ad vissza, amely annak a számítógépnek a dátumát és idejét tartalmazza, amelyen az SQL Server-példány fut. A visszaadott érték tartalmazza az időzóna elmozdulást is. datetimeoffset(7) Nemdeterminisztikus
RENDSZERI IDŐ SYSUTCDATETIME () A SYSUTCDATETIME függvény egy datetime2(7) értéket ad vissza, amely annak a számítógépnek a dátumát és idejét tartalmazza, amelyen az SQL Server-példány fut. SYSUTCDATETIME A dátum- és időértékeket UTC időként adja vissza (koordinált egyetemes idő). datetime2(7) Nemdeterminisztikus

Alacsonyabb pontosságú rendszer dátum- és időfüggvények

Funkció Szemantika Visszaadott érték Adattípus visszaadva Determinizmus
CURRENT_TIMESTAMP CURRENT_TIMESTAMP A CURRENT_TIMESTAMP függvény egy datetime értéket ad vissza, amely annak a számítógépnek a dátumát és idejét tartalmazza, amelyen az SQL Server-példány fut. A visszaadott érték nem tartalmazza az időzóna eltolást. datetime Nemdeterminisztikus
GETDATE GETDATE() A GETDATE függvény egy datetime értéket ad vissza, amely annak a számítógépnek a dátumát és idejét tartalmazza, amelyen az SQL Server-példány fut. A visszaadott érték nem tartalmazza az időzóna eltolást. datetime Nemdeterminisztikus
GETUTCDATE GETUTCDATE() A GETUTCDATE függvény egy datetime értéket ad vissza, amely annak a számítógépnek a dátumát és idejét tartalmazza, amelyen az SQL Server-példány fut. A GETUTCDATE függvény a dátum- és időértékeket UTC időként adja vissza (koordinált egyetemes idő). datetime Nemdeterminisztikus
CURRENT_DATE CURRENT_DATE A CURRENT_DATE függvény egy dátumértéket ad vissza, amely csak annak a számítógépnek a dátumát tartalmazza, amelyen az adatbázismotor példánya fut. A visszaadott érték nem tartalmazza az időt és az időzóna eltolást. date Nemdeterminisztikus

Olyan függvények, amelyek dátum- és időidő-részeket adnak vissza

Funkció Szemantika Visszaadott érték Adattípus visszaadva Determinizmus
DATE_BUCKET DATE_BUCKET ( <datepart>, <number>, <date>, <origin>) A DATE_BUCKET függvény egy olyan értéket ad vissza, amely az egyes dátum-idő gyűjtők kezdetének felel meg a forrásparaméter által meghatározott időbélyegből, vagy ha a forrásparaméter nincs megadva alapértelmezett forrásértékként 1900-01-01 00:00:00.000 . A visszatérési típus a dátumhoz megadott argumentumtól függ. Nemdeterminisztikus
DÁTUMNÉV DATENAME ( <datepart>, <date> ) A DATENAME függvény egy karaktersztringet ad vissza, amely a megadott dátum megadott dátumrészét jelöli. nvarchar Nemdeterminisztikus
DÁTUMRÉSZ DATEPART ( <datepart>, <date> ) A DATEPART függvény egy egész számot ad vissza, amely a megadott dátum megadott dátumrészét jelöli. int Nemdeterminisztikus
DATETRUNC DATETRUNC ( <datepart>, <date> ) A DATETRUNC függvény egy bemeneti dátumot ad vissza, amelyet egy megadott dátumra rövidítenek. A visszatérési típus a dátumhoz megadott argumentumtól függ. Nemdeterminisztikus
NAP DAY ( <date> ) A DAY függvény egy egész számot ad vissza, amely a megadott dátum naprészét jelöli. int Determinisztikus
HÓNAP MONTH ( <date> ) A MONTH függvény egy adott dátum hónaprészét jelölő egész számot ad vissza. int Determinisztikus
ÉV YEAR ( <date> ) A YEAR függvény egy adott dátum évrészét jelölő egész számot ad vissza. int Determinisztikus

Olyan függvények, amelyek a részükből dátum- és időértékeket adnak vissza

Funkció Szemantika Visszaadott érték Adattípus visszaadva Determinizmus
DATEFROMPARTS DATEFROMPARTS ( <year>, <month>, <day> ) A DATEFROMPARTS függvény a megadott év, hónap és nap dátumértékét adja vissza. date Determinisztikus
DATETIME2FROMPARTS DATETIME2FROMPARTS ( <year>, <month>, <day>, <hour>, <minute>, <seconds>, <fractions>, <precision> ) A DATETIME2FROMPARTS függvény a megadott dátum és idő dátum/ idő értékét adja vissza a megadott pontossággal. datetime2(pontosság) Determinisztikus
DATETIMEFROMPARTS DATETIMEFROMPARTS ( <year>, <month>, <day>, <hour>, <minute>, <seconds>, <milliseconds> ) A DATETIMEFROMPARTS függvény a megadott dátum és idő dátum/idő értékét adja vissza. datetime Determinisztikus
DÁTUMIDŐTOFFSETFROMPARTS DATETIMEOFFSETFROMPARTS ( <year>, <month>, <day>, <hour>, <minute>, <seconds>, <fractions>, <hour_offset>, <minute_offset>, <precision> ) A DATETIMEOFFSETFROMPARTS függvény a megadott dátum és idő dátum/ idő értékét adja vissza a megadott eltolásokkal és pontossággal. datetimeoffset(pontosság) Determinisztikus
KISDÁTUMIDŐFROMPARTS SMALLDATETIMEFROMPARTS ( <year>, <month>, <day>, <hour>, <minute> ) A SMALLDATETIMEFROMPARTS függvény egy kisdátum-értéket ad vissza a megadott dátumhoz és időponthoz. smalldatetime Determinisztikus
TIMEFROMPARTS TIMEFROMPARTS ( <hour>, <minute>, <seconds>, <fractions>, <precision> ) A TIMEFROMPARTS függvény egy időértéket ad vissza a megadott időhöz, a megadott pontossággal. time(pontosság) Determinisztikus

Olyan függvények, amelyek dátum- és időkülönbséget adnak vissza

Funkció Szemantika Visszaadott érték Adattípus visszaadva Determinizmus
DATEDIFF DATEDIFF ( <datepart>, <startdate>, <enddate> ) A DATEDIFF függvény a dátum- vagy idődátumhatárok számát adja vissza két megadott dátum között. int Determinisztikus
DATEDIFF_BIG DATEDIFF_BIG ( <datepart>, <startdate>, <enddate> ) A DATEDIFF_BIG függvény a dátum- vagy idődátumhatárok számát adja vissza két megadott dátum között. bigint Determinisztikus

Függvények, amelyek módosítják a dátum- és időértékeket

Funkció Szemantika Visszaadott érték Adattípus visszaadva Determinizmus
DATEADD DATEADD (<datepart>, <number>, <date> ) A DATEADD függvény egy új dátum/idő értéket ad vissza úgy, hogy hozzáad egy időközt a megadott dátum megadott dátumrészéhez. A dátumargumentus adattípusa Determinisztikus
EOMONTH EOMONTH ( <start_date> [ , <month_to_add> ] ) A EOMONTH függvény a megadott dátumot tartalmazó hónap utolsó napját adja vissza opcionális eltolással. A visszacsatolás típusa az start_date argumentum, vagy alternatívaként a dátum adattípusa. Determinisztikus
KAPCSOLÓ OFFSET SWITCHOFFSET (<DATETIMEOFFSET>, <time_zone> ) A SWITCHOFFSET függvény egy datetimeoffset érték időzóna-eltolását módosítja, és megőrzi az UTC értéket. datetimeoffset a DATETIMEOFFSET argumentum tört pontosságával Determinisztikus
TODATETIMEOFFSET TODATETIMEOFFSET (<expression>, <time_zone> ) A TODATETIMEOFFSET függvény egy datetime2 értéket datetimeoffset értékké alakít át. TODATETIMEOFFSET A helyi idő szerint értelmezi a datetime2 értéket a megadott time_zone. datetime-offset a datetime argumentum törthelyes pontosságával Determinisztikus

Jótanács

Az időzóna adatainak az SQL Serveren a datetimeoffset adattípussal való módosításával kapcsolatos további információkért és javaslatokért lásd: AT TIME ZONE.

Olyan függvények, amelyek beállítják vagy visszaadják a session formátum funkciókat

Funkció Szemantika Visszaadott érték Adattípus visszaadva Determinizmus
@@DATEFIRST @@DATEFIRST A @@DATEFIRST függvény a munkamenet SET DATEFIRSTaktuális értékét adja vissza. tinyint Nemdeterminisztikus
SET DATEFIRST SET DATEFIRST { *number* } vagy SET DATEFIRST { *@number_var* } Az SET DATEFIRST utasítás a hét első napját 1 és 7 közötti számra állítja be. Nem alkalmazható Nem alkalmazható
SET DATEFORMAT SET DATEFORMAT { *format* } vagy SET DATEFORMAT { *@format_var* } Az SET DATEFORMAT utasítás beállítja a dátumrészek (hónap/nap/év) sorrendjét a datetime vagy smalldatetime adatok megadásához. Nem alkalmazható Nem alkalmazható
@@LANGUAGE @@LANGUAGE A @@LANGUAGE függvény az aktuálisan használt nyelv nevét adja vissza. @@LANGUAGE nem dátum- vagy időfüggvény. Azonban a nyelvi beállítás befolyásolhatja a dátumfüggvények kimenetét. Nem alkalmazható Nem alkalmazható
SET LANGUAGE SET LANGUAGE { [ N ] '*language*' } vagy SET LANGUAGE { *@language_var* } A session és a rendszer üzenetek nyelvi környezetét állítja be. SET LANGUAGE nem dátum- vagy időfüggvény, de a nyelvi beállítás hatással van a dátumfüggvények kimenetére. Nem alkalmazható Nem alkalmazható
sp_helplanguage sp_helplanguage [ [ *@language* = ] '*language*' ] A sp_helplanguage függvény az összes támogatott nyelv dátumformátumával kapcsolatos információkat adja vissza. A nyelvi beállítás hatással van a dátumfüggvények kimenetére. Nem alkalmazható Nem alkalmazható

Függvények, amelyek validálják és időértékeket

Funkció Szemantika Visszaadott érték Adattípus visszaadva Determinizmus
ISDATE ISDATE ( <expression> ) A ISDATE függvény meghatározza, hogy egy datetime vagy smalldatetime bemeneti kifejezés érvényes dátum- vagy időérték-e. int A ISDATE függvény determinisztikus csak a CONVERT függvénnyel együtt használatos, ha a CONVERT stílusparaméter meg van adva, és ha a stílus nem egyenlő 0, 100, 9 vagy 109 értékekkel.
Cikk Description
FORMÁTUM A FORMAT függvény a megadott formátummal és opcionális kultúrával formázott értéket ad vissza. Használd a FORMAT funkciót a dátum/idő és számértékek helyi formázásához stringként.
SZEREPLÉS ÉS ÁTTÉRÉS A CAST függvények a CONVERT dátum- és időértékeket sztringkonstansokra és más dátum- és időformátumokra konvertálják.
Nemzetközi Transact-SQL nyilatkozatok írása Irányelveket ad az adatbázisok és adatbázis-alkalmazások hordozhatóságára, amelyek Transact-SQL utasításokat használnak egyik nyelvről a másikra, vagy több nyelvet támogatnak.
ODBC skaláris függvények Információkat nyújt az ODBC skalárfüggvényekről, amelyek Transact-SQL utasításokban használhatók. Tartalmazza az ODBC dátum- és időfunkciókat.