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
Analytics Platform Systeem (PDW)
SQL-database in Microsoft Fabric
Deze functie geeft een tekenstring terug die het gespecificeerde datumdeel van de opgegeven datum vertegenwoordigt.
Zie Datum- en tijdgegevenstypen en -functies (Transact-SQL) voor een overzicht van alle transact-SQL-datum- en tijdgegevenstypen en -functies.
Transact-SQL syntaxis-conventies
Syntaxis
DATENAME ( datepart , date )
Arguments
datepart
Het specifieke deel van het datumargument dat DATENAME terugkomt. Deze tabel bevat alle geldige datumonderdelenargumenten .
Opmerking
DATENAME accepteert geen door de gebruiker gedefinieerde variabele-equivalenten voor de datepart-argumenten .
| datepart | Abbreviations |
|---|---|
| jaar | yyy, jjjj |
| wijk | qq, q |
| maand | mm, m |
| dayofyear | dy, y |
| dag | dd, d |
| week | WK, WW |
| weekdag | dw, w |
| uur | hh |
| minuut | mi, n |
| tweede | ss, s |
| milliseconde | mevrouw |
| microseconde | Mcs |
| nanoseconde | Ns |
| TZoffset | tz |
| ISO_WEEK | ISOWK, ISOWW |
date
Een expressie die kan worden opgelost naar een van de volgende datatypen:
- date
- datetime
- datetimeoffset
- datetime2
- smalldatetime
- time
Voor datumDATENAME accepteert u een kolomexpressie, expressie, letterlijke tekenreeks of door de gebruiker gedefinieerde variabele. Gebruik viercijferige jaren om dubbelzinnigheidsproblemen te voorkomen. Zie De optie serverconfiguratie van twee cijfers configureren voor meer informatie over tweecijferige jaren.
Retourtype
nvarchar
Retourwaarde
- Elk datumdeel en de bijbehorende afkortingen geven dezelfde waarde als resultaat.
De retourwaarde hangt af van de taalomgeving die is ingesteld met SET LANGUAGE, en van de optie Configure the default language Server Configuration Option van het login. De retourwaarde hangt af van SET DATEFORMAT als datum een stringliteral is van sommige formaten. SET DATEFORMAT verandert de retourwaarde niet wanneer de datum een kolomuitdrukking is van een datum- of tijddatatype.
Wanneer de datumparameter een datumdatatype-argument heeft, hangt de retourwaarde af van de instelling die door SET DATEFIRST is gespecificeerd.
TZoffset datepart Argument
Als het datepart-argumentTZoffset (tz) is en het date-argument geen tijdzone-offset, DATEADD geeft 0 terug.
smalldatetime date Argument
Wanneer datumsmalldatetime is, DATENAME geeft seconden als 00 terug.
Standaard Teruggegeven voor een datumdeel die niet in het datumargument voorkomt
Als het datatype van het datumargument niet het gespecificeerde datumdeel heeft, DATENAME zal de standaard voor die datumdeel alleen teruggeven als het datumargument een letterlijke heeft.
Bijvoorbeeld, de standaard jaar-maand-dag voor elk datumdatatype is 1900-01-01. Deze stelling bevat datumdeelargumenten voor datumdeel, een tijdsargument voor datum, en DATENAME retourneert 1900, January, 1, 1, Monday.
SELECT DATENAME(year, '12:10:30.123')
,DATENAME(month, '12:10:30.123')
,DATENAME(day, '12:10:30.123')
,DATENAME(dayofyear, '12:10:30.123')
,DATENAME(weekday, '12:10:30.123');
Als datum is opgegeven als een variabele- of tabelkolom, en het datatype voor die variabele of kolom het opgegeven datumdeel niet heeft, DATENAME geeft fout 9810 terug. In dit voorbeeld heeft variabele @t een tijdsdatatype . Het voorbeeld faalt omdat de datum deeljaar ongeldig is voor het tijdsdatatype :
DECLARE @t time = '12:10:30.123';
SELECT DATENAME(year, @t);
Opmerkingen
Gebruik DATENAME in de volgende componenten:
- GROEP OP
- HAVING
- SORTEER OP
- SELECT-lijst <>
- WHERE
In SQL Server castt DATENAME impliciet stringliterals als een type-datetime2 . Met andere woorden, DATENAME ondersteunt het formaat YDM niet wanneer de datum als string wordt doorgegeven. U moet de tekenreeks expliciet casten naar een datum/tijd - of smalldatetime-type om de YDM-indeling te gebruiken.
Voorbeelden
Dit voorbeeld geeft de datumdelen terug voor de opgegeven datum. Vervang een datepart-waarde uit de tabel in plaats van het datepart argument in de SELECT-instructie:
SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10');
Hier is het resultatenoverzicht.
| datepart | Retourwaarde |
|---|---|
| jaar, jjj, jij | 2007 |
| kwart, qq, q | 4 |
| maand, mm, m | Oktober |
| Dagvanjaar, Dy, Y | 303 |
| Day, DD, D | 30 |
| week, week, ww | 44 |
| Doordeweeks, DW | Dinsdag |
| uur, hh | 12 |
| minuut, n | 15 |
| Ten tweede, ss, s | 32 |
| milliseconde, ms | 123 |
| Microseconde, MCS | 123456 |
| nanoseconde, ns | 123456700 |
| TZoffset, tz | +05:10 |
| ISO_WEEK, ISOWK, ISOWW | 44 |
Azure Synapse Analytics and Analytics Platform System (PDW)
Dit voorbeeld geeft de datumdelen terug voor de opgegeven datum. Vervang een datepart-waarde uit de tabel in plaats van het datepart argument in de SELECT-instructie:
SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10');
Hier is het resultatenoverzicht.
| datepart | Retourwaarde |
|---|---|
| jaar, jjj, jij | 2007 |
| kwart, qq, q | 4 |
| maand, mm, m | Oktober |
| Dagvanjaar, Dy, Y | 303 |
| Day, DD, D | 30 |
| week, week, ww | 44 |
| Doordeweeks, DW | Dinsdag |
| uur, hh | 12 |
| minuut, n | 15 |
| Ten tweede, ss, s | 32 |
| milliseconde, ms | 123 |
| Microseconde, MCS | 123456 |
| nanoseconde, ns | 123456700 |
| TZoffset, tz | +05:10 |
| ISO_WEEK, ISOWK, ISOWW | 44 |