Delen via


Datum- en tijdgegevenstypen en functies (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-database in Microsoft Fabric

De secties in dit artikel behandelen alle datatypes en functies Transact-SQL datum- en tijdgegevens.

Gegevenstypen voor datum en tijd

De Transact-SQL datum- en tijddatatypes worden in de volgende tabel weergegeven:

Gegevenstype Formaat Bereik Nauwkeurigheid Opslaggrootte (bytes) Door de gebruiker gedefinieerde tweede precisie Tijdzoneverschil
time HH:mm:ss[.nnnnnnn] 00:00:00.0000000 tot en met 23:59:59.99999999 100 nanoseconden 3 tot 5 Yes Nee.
date yyyy-MM-dd 0001-01-01 tot en met 9999-12-31 1 dag 3 Nee. Nee.
smalldatetime jjjj-MM-dd uu:mm:ss 1900-01-01 tot en met 2079-06-06 1 minuut 4 Nee. Nee.
datetime yyyy-MM-dd HH:mm:ss[.nnn] 1753-01-01 tot en met 9999-12-31 0,00333 seconde 8 Nee. Nee.
datetime2 jjjj-MM-dd HH:mm:ss[.nnnnnnn] 0001-01-01 00:00:00.0000000 tot en met 9999-12-31 23:59:59.99999999 100 nanoseconden 6 tot 8 Yes Nee.
datetimeoffset yyyy-MM-dd HH:mm:ss[.nnnnnnnn] [+|-]HH:mm 0001-01-01 00:00:00.0000000 tot en met 9999-12-31 23:59:59.999999999 (in UTC) 100 nanoseconden 8 tot 10 Yes Yes

Opmerking

Het Transact-SQL rowversie-datatype is geen datum- of tijddatatype. Timestamp is een verouderd synoniem voor rowversion.

Datum- en tijdfuncties

De volgende tabellen geven de Transact-SQL datum- en tijdsfuncties weer weer. Zie Deterministische en niet-deterministische functiesvoor meer informatie over determinisme.

Functies die systeemdatum- en tijdwaarden teruggeven

Transact-SQL haalt alle systeemdatum- en tijdwaarden af van het besturingssysteem van de computer waarop de instantie van SQL Server draait.

Datum- en tijdfuncties van systemen met hogere precisie

Sinds SQL Server 2008 (10.0.x) leidt de Database Engine de datum- en tijdwaarden af via de GetSystemTimeAsFileTime() Windows API. De nauwkeurigheid hangt af van de computerhardware en de Windows-versie waarop de instantie van SQL Server draait. Deze API heeft een precisie van 100 nanoseconden. Gebruik de GetSystemTimeAdjustment() Windows API om de nauwkeurigheid te bepalen.

Functie Syntaxis Retourwaarde Gegevenstype retourneren Determinisme
SYSDATETIME SYSDATETIME ( ) Geeft een datetime2(7)- waarde terug met de datum en tijd van de computer waarop de instantie van SQL Server draait. De geretourneerde waarde bevat niet de tijdzone-verschuiving. datetime2(7) Niet-deterministisch
SYSDATETIMEOFFSET SYSDATETIMEOFFSET ( ) Geeft een datetimeoffset(7)- waarde terug met de datum en tijd van de computer waarop de instantie van SQL Server draait. De teruggegeven waarde omvat de tijdzone-verschuiving. datetimeoffset(7) Niet-deterministisch
SYSUTCDATETIME SYSUTCDATETIME ( ) Geeft een datetime2(7)- waarde terug met de datum en tijd van de computer waarop de instantie van SQL Server draait. De functie geeft de datum- en tijdwaarden terug als UTC-tijd (Gecoördineerde Universele Tijd). datetime2(7) Niet-deterministisch

Datum- en tijdfuncties van systemen met lagere precisie

Functie Syntaxis Retourwaarde Gegevenstype retourneren Determinisme
CURRENT_TIMESTAMP CURRENT_TIMESTAMP Geeft een datum-tijdwaarde terug met de datum en tijd van de computer waarop de instantie van SQL Server draait. De geretourneerde waarde bevat niet de tijdzone-verschuiving. datetime Niet-deterministisch
GETDATE GETDATE ( ) Geeft een datum-tijdwaarde terug met de datum en tijd van de computer waarop de instantie van SQL Server draait. De geretourneerde waarde bevat niet de tijdzone-verschuiving. datetime Niet-deterministisch
GETUTCDATE GETUTCDATE ( ) Geeft een datum-tijdwaarde terug met de datum en tijd van de computer waarop de instantie van SQL Server draait. De functie geeft de datum- en tijdwaarden terug als UTC-tijd (Gecoördineerde Universele Tijd). datetime Niet-deterministisch
CURRENT_DATE CURRENT_DATE Geeft een datumwaarde terug die alleen de datum bevat van de computer waarop de instantie van de Database Engine draait. De teruggegeven waarde bevat niet de tijd- en tijdzone-offset niet. date Niet-deterministisch

Functies die datum- en tijddelen teruggeven

Functie Syntaxis Retourwaarde Gegevenstype retourneren Determinisme
DATE_BUCKET DATE_BUCKET ( datumdeel, nummer, datum, herkomst ) Geeft een waarde terug die overeenkomt met het begin van elke datum-tijd-emmer uit de tijdstempel gedefinieerd door de oorsprongparameter , of de standaard oorsprongswaarde van 1900-01-01 00:00:00.000 als de oorsprongparameter niet is gespecificeerd. Het retourtype is afhankelijk van het argument dat is opgegeven voor datum. Niet-deterministisch
DATUMNAAM DATENAME ( datepart, date ) Geeft een tekenreeks terug die de gespecificeerde datum vertegenwoordigt, deel van de opgegeven datum. nvarchar Niet-deterministisch
DATEPART DATEPART ( datepart, date ) Geeft een geheel getal terug dat de gespecificeerde datum vertegenwoordigt, deel van de opgegeven datum. int Niet-deterministisch
DATETRUNC DATETRUNC ( datepart, datum ) Geeft een invoerdatum terug die is afgekapt tot een gespecificeerd datumdeel. Het retourtype is afhankelijk van het argument dat is opgegeven voor datum. Niet-deterministisch
DAG DAG ( datum ) Geeft een geheel getal terug dat het dagdeel van de opgegeven datum vertegenwoordigt. int Deterministisch
MAAND MAAND ( datum ) Geeft een geheel getal terug dat het maanddeel van een bepaalde datum vertegenwoordigt. int Deterministisch
JAAR JAAR ( datum ) Geeft een geheel getal terug dat het jaardeel van een bepaalde datum vertegenwoordigt. int Deterministisch

Functies die datum- en tijdwaarden teruggeven van hun onderdelen

Functie Syntaxis Retourwaarde Gegevenstype retourneren Determinisme
DATEFROMPARTS DATEFROMPARTS ( jaar, maand, dag ) Geeft een datumwaarde terug voor het opgegeven jaar, de maand en de dag. date Deterministisch
DATETIME2FROMPARTS DATETIME2FROMPARTS (jaar, maand, dag, uur, minuut, seconden, breuken, precisie) Geeft een datetime2-waarde terug voor de opgegeven datum en tijd, met de gespecificeerde precisie. Datetime2(precisie) Deterministisch
DATETIMEFROMPARTS DATETIMEFROMPARTS ( jaar, maand, dag, uur, minuut, seconden, milliseconden ) Geeft een datum-tijdwaarde terug voor de opgegeven datum en tijd. datetime Deterministisch
DATUMTIJDVERSCHUIVENVANONDERDELEN DATUMTIJDOFFSETVANONDERDELEN (jaar, maand, dag, uur, minuut, seconden, breuken, hour_offset, minute_offset, precisie) Geeft een datum-tijd-offsetwaarde terug voor de opgegeven datum en tijd, met de gespecificeerde offsets en precisie. datetimeoffset(precisie) Deterministisch
SMALLDATETIMEFROMPARTS KLEINE DATETIMEFROMPARTS ( jaar, maand, dag, uur, minuut ) Geeft een smalldatetime-waarde terug voor de opgegeven datum en tijd. smalldatetime Deterministisch
TIJDVANONDERDELEN TIJDVANONDERDELEN ( uur, minuut, seconden, breuken, precisie ) Geeft een tijdwaarde terug voor de opgegeven tijd, met de gespecificeerde precisie. tijd (precisie) Deterministisch

Functies die datum- en tijdsverschilwaarden teruggeven

Functie Syntaxis Retourwaarde Gegevenstype retourneren Determinisme
DATUM DATEDIFF ( datumdeel,startdatum, einddatum ) Geeft het aantal datum- of tijdsdatumdeelgrenzen terug, gekruist tussen twee gespecificeerde data. int Deterministisch
DATEDIFF_BIG DATEDIFF_BIG ( datumdeel, startdatum, einddatum ) Geeft het aantal datum- of tijdsdatumdeelgrenzen terug, gekruist tussen twee gespecificeerde data. bigint Deterministisch

Functies die datum- en tijdwaarden wijzigen

Functie Syntaxis Retourwaarde Gegevenstype retourneren Determinisme
DATEADD DATEADD (datepart,nummer, datum ) Geeft een nieuwe datum-tijdwaarde terug door een interval toe te voegen aan het gespecificeerde datumdeel van de opgegeven datum. Het datatype van het datumargument Deterministisch
EOMONTH ELKE MAAND ( start_date [ , month_to_add ] ) Geeft de laatste dag van de maand terug met de opgegeven datum, met een optionele offset. Retourtype is het type van het start_date-argument , of alternatief, het datumdatatype . Deterministisch
SCHAKELAAROFFSET SCHAKELAAROFFSET (DATUMTIMEOFFSET,time_zone ) SWITCHOFFSET verandert de tijdzone-offset van een DATETIMEOFFSET-waarde en behoudt de UTC-waarde. datetimeoffset met de fractionele precisie van de DATETIMEOFFSET Deterministisch
TODATETIMEOFFSET TODATETIMEOFFSET (expressie, time_zone ) TODATETIMEOFFSET transformeert een datetime2-waarde in een datetimeoffset-waarde. TODATETIMEOFFSET interpreteert de datetime2-waarde in lokale tijd, voor de gespecificeerde time_zone. datetimeoffset met de fractionele precisie van het datetime-argument Deterministisch

Functies die sessieformaatfuncties instellen of teruggeven

Functie Syntaxis Retourwaarde Gegevenstype retourneren Determinisme
@@DATEFIRST @@DATEFIRST Geeft de huidige waarde terug, voor de sessie, van SET DATEFIRST. tinyint Niet-deterministisch
VASTE DATUM EERST SET DATEFIRST { nummer | @number_var } Hiermee stelt u de eerste dag van de week in op een getal van 1 tot en met 7. Niet van toepassing Niet van toepassing
VASTE DATUMFORMAAT SET DATEFORMAT { format | @format_var } Stelt de volgorde van de datumdelen (maand/dag/jaar) voor het invoeren van datum- of kleindatumtijdgegevens vast. Niet van toepassing Niet van toepassing
@@LANGUAGE @@LANGUAGE Geeft de naam van de gebruikte taal terug. @@LANGUAGE is geen datum- of tijdsfunctie. De taalinstelling kan echter invloed hebben op de output van datumfuncties. Niet van toepassing Niet van toepassing
SETTAAL SET LANGUAGE { [ N ] 'language' | @language_var } Stelt de taalomgeving in voor de sessie- en systeemberichten. SET-TAAL is geen datum- of tijdfunctie. De taalinstelling beïnvloedt echter de output van datumfuncties. Niet van toepassing Niet van toepassing
sp_helplanguage sp_helplanguage [ [ @language = ] 'taal' ] Retour informatie over datumformaten van alle ondersteunde talen. sp_helplanguage Is geen datum of tijd die wordt opgeslagen. De taalinstelling beïnvloedt echter de output van datumfuncties. Niet van toepassing Niet van toepassing

Functies die datum- en tijdwaarden valideren

Functie Syntaxis Retourwaarde Gegevenstype retourneren Determinisme
ISDATE ISDATE ( expressie ) Bepaalt of een datetime- of smalldatetime-invoerexpressie een geldige datum- of tijdwaarde heeft. int ISDATE wordt deterministisch alleen gebruikt met de CONVERT-functie, wanneer de CONVERT-stijlparameter is opgegeven, en wanneer stijl niet gelijk is aan 0, 100, 9 of 109.
Article Description
FORMATTEREN Retourneert een waarde die is opgemaakt met de opgegeven notatie en optionele cultuur. Gebruik de FORMAT-functie voor lokaal bewuste opmaak van datum-/tijd- en getalwaarden als strings.
CAST EN BEKEER Biedt informatie over de conversie van datum- en tijdwaarden naar en van stringliterals, en andere datum- en tijdformaten.
Internationale Transact-SQL-verklaringen schrijven Biedt richtlijnen voor de portabiliteit van databases en databaseapplicaties die Transact-SQL statements van de ene taal naar de andere gebruiken, of die meerdere talen ondersteunen.
ODBC Scalaire Functies Biedt informatie over ODBC-scalairfuncties die beschikbaar zijn voor gebruik in Transact-SQL statements. Bevat ODBC-datum- en tijdfuncties.
IN TIJDZONE Biedt tijdzoneconversie.