Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL-database in Microsoft Fabric
De secties in dit artikel behandelen alle datatypes en functies Transact-SQL datum- en tijdgegevens.
- Datum- en tijdgegevenstypen
-
datum- en tijdfuncties
- Functies die systeemdatum- en tijdwaarden teruggeven
- Functies die datum- en tijddelen teruggeven
- Functies die datum- en tijdwaarden teruggeven van hun onderdelen
- Functies die datum- en tijdsverschilwaarden teruggeven
- Functies die datum- en tijdwaarden wijzigen
- Functies die sessieformaatfuncties instellen of teruggeven
- Functies die datum- en tijdwaarden valideren
- Artikelen over datum en tijd
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. |
Artikelen over datum en tijd
| 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. |