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


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 lefedik Transact-SQL dátum- és időpontadat típusát és funkcióját.

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

A Transact-SQL dátum- és időpont-adattípusok az alábbi táblázatban találhatók:

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 Database Engine a GetSystemTimeAsFileTime() Windows API segítségével vezeti le a dátum- és időértékeket. A pontosság attól függ, hogy melyik számítógép hardverén és Windows verzióján fut az SQL Server példánya. Ennek az API-nak a precizitása 100 nanoszekundumra rögzített. Használd a GetSystemTimeAdjustment() Windows API-t a pontosság meghatározására.

Funkció Szemantika Visszaadott érték Adattípus visszaadva Determinizmus
SYSDATETIME SYSDATETIME ( ) Returner egy datetime2(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. A visszaadott érték nem tartalmazza az időzóna eltolást. datetime2(7) Nemdeterminisztikus
SYSDATETIMEOFFSET SYSDATETIMEOFFSET ( ) Visszaad egy 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. A visszaadott érték tartalmazza az időzóna elmozdulást is. datetimeoffset(7) Nemdeterminisztikus
RENDSZERI IDŐ RENDSZERI IDŐ ( ) Visszaad egy datetime2(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. A függvény a dátum- és időértékeket UTC időként (Koordinált Univerzális Idő) adja vissza. 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 Visszaad egy dátum-idő é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. A visszaadott érték nem tartalmazza az időzóna eltolást. datetime Nemdeterminisztikus
GETDATE GETDATE ( ) Visszaad egy dátum-idő é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. A visszaadott érték nem tartalmazza az időzóna eltolást. datetime Nemdeterminisztikus
GETUTCDATE GETUTCDATE ( ) Visszaad egy dátum-idő é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. A függvény a dátum- és időértékeket UTC időként (Koordinált Univerzális Idő) adja vissza. datetime Nemdeterminisztikus
CURRENT_DATE CURRENT_DATE Olyan dátumértéket ad vissza, amely csak annak a számítógépnek a dátumát tartalmazza, amelyen az adatbázis motor 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 (dátum, szám, dátum, eredet) Visszaadja az egyes dátum-idő vödör kezdetének értékét az eredeti paraméter által meghatározott időbélyegből, vagy az alapértelmezett eredetértéket, 1900-01-01 00:00:00.000 ha az eredeti paraméter nincs megadva. A visszatérési típus a dátumhoz megadott argumentumtól függ. Nemdeterminisztikus
DÁTUMNÉV DATENAME ( datepart, datepart ) Egy karakterláncot ad vissza, amely a megadott dátumot jelöli. nvarchar Nemdeterminisztikus
DÁTUMRÉSZ DATEPART ( datepart, datepart ) Egy egész számot ad vissza, amely a megadott dátumot jelöli. int Nemdeterminisztikus
DATETRUNC DATETRUNC ( datepart, date ) Egy bemeneti dátumot ad vissza, amelyet egy megadott dátumrészre vágtak. A visszatérési típus a dátumhoz megadott argumentumtól függ. Nemdeterminisztikus
NAP NAP ( dátum ) Egy egész számot ad vissza, amely a megadott dátum napos részét jelöli. int Determinisztikus
HÓNAP HÓNAP ( dátum ) Egy egész számot ad vissza, amely egy meghatározott dátum hónap részét jelöli. int Determinisztikus
ÉV ÉV ( dátum ) Egy egész számot ad vissza, amely egy meghatározott dátum évrészét jelöli. 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 ( év, hónap, nap ) A megadott év, hónap és nap értékét adja vissza. date Determinisztikus
DATETIME2FROMPARTS DATETIME2FROMPARTS ( év, hónap, nap, óra, perc, másodpercek, törtszám, precizitás ) A megadott dátum és idő datetime2 értékét adja vissza, a megadott pontossággal. datetime2(pontos) Determinisztikus
DATETIMEFROMPARTS DATETIMEFROMPARTS ( év, hónap, nap, óra, perc, másodperc, milliszekundum ) Megadja a megadott dátum és idő dátum értékét. datetime Determinisztikus
DÁTUMIDŐTOFFSETFROMPARTS DÁTUMTIMEOFFSETFROMPARTS (év, hónap, nap, óra, perc, másodpercek, törtszámok, hour_offset, minute_offset, precizitás) A megadott dátum és idő értékét adja vissza, a megadott eltolásokkal és pontossággal. datetimeoffset (preciitás) Determinisztikus
KISDÁTUMIDŐFROMPARTS KISDÁTUMTIMEFROMPARTS ( év, hónap, nap, óra, perc ) A megadott dátumhoz és időponthoz smalldatetime értéket ad vissza. smalldatetime Determinisztikus
TIMEFROMPARTS TIMEFROMPARTS ( óra, perc, másodpercek, törtszámok, precízitás ) Időértéket ad vissza a megadott időre, a megadott pontossággal. Idő (precízió) 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 ( dátumrész, kezdeti dátum, végdátum ) Adja vissza a dátum vagy időpont határainak számát, két meghatározott dátum között átvészelve. int Determinisztikus
DATEDIFF_BIG DATEDIFF_BIG ( dátumrész, kezdési dátum, végdátum ) Adja vissza a dátum vagy időpont határainak számát, két meghatározott dátum között átvészelve. 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 (dátumosa, szám, dátum ) Új dátumidő-értéket ad vissza azzal, hogy egy intervallum hozzáad a megadott dátumhoz. A dátumargumentus adattípusa Determinisztikus
EOMONTH EOMONTH ( start_date [ , month_to_add ] ) A hónap utolsó napját adja vissza, amely tartalmazza a megadott dátumot, opcionális eloltá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 megváltoztatja a DATETIMEOFFSET érték időzóna eltolódását, és megőrzi az UTC értéket. datetimeoffset a DATETIMEOFFSET törthelyes pontosságával Determinisztikus
TODATETIMEOFFSET TODATETIMEOFFSET (kifejezés, time_zone ) A TODATETIMEOFFSET átalakítja a datetime2 értéket datetimeoffset értékké. A TODATETIMEOFFSET a datetime2 értéket helyi időben értelmezi a megadott time_zone esetén. datetime-offset a datetime argumentum törthelyes pontosságával Determinisztikus

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 Visszaadja a jelenlegi értéket a SET DATEFIRST ülésre. tinyint Nemdeterminisztikus
ELŐBB A DÁTUM BEÁLLÍTÁSA SET DATEFIRST { number | @number_var } A hét első napját 1 és 7 közötti számra állítja be. Nem alkalmazható Nem alkalmazható
DÁTUMFORMÁTUM BEÁLLÍTÁSA SET DATEFORMAT { format | @format_var } Megadja a dateparts (hónap/nap/év) sorrendjét a datetime vagy smalldatetime adatok beviteléhez. Nem alkalmazható Nem alkalmazható
@@LANGUAGE @@LANGUAGE Visszaadja a jelenleg használt nyelv nevét. @@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ó
HALMAZNYELV HALMAZNYELV { [ N ] 'nyelv' | @language_var } A session és a rendszer üzenetek nyelvi környezetét állítja be. A SET LANGUAGE nem dátum vagy idő függvény. Azonban a nyelvi beállítás befolyásolja a dátumfüggvények kimenetét. Nem alkalmazható Nem alkalmazható
sp_helplanguage sp_helplanguage [ [ @language = ] 'nyelv' ] Információkat ad az összes támogatott nyelv dátumformátumáról. sp_helplanguage nem dátum vagy idő tárolására szolgáló eljárás. Azonban a nyelvi beállítás befolyásolja a dátumfüggvények kimenetét. 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 ( kifejezés ) Meghatározza, hogy egy datetime vagy smalldatetime bemeneti kifejezésnek van-e érvényes dátum vagy idő értéke. int Az ISDATE determinisztikus csak a CONVERT függvényrel használatos, amikor a CONVERT stílusparaméter meg van szabva, és ha a stílus nem egyenlő 0, 100, 9 vagy 109.
Cikk Description
FORMÁTUM 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 Információt nyújt a dátum- és időértékek átalakításáról a string literal-okra, valamint más dátum- és időformátumokról.
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.
IDŐZÓNÁBAN Időzóna átalakítást biztosít.