Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Database w Microsoft Fabric
Funkcja ta zwraca ciąg znaków reprezentujący określoną datę tej daty.
Zobacz Typy i funkcje danych daty i godziny (Transact-SQL), aby zapoznać się z omówieniem wszystkich typów danych i funkcji daty i godziny języka Transact-SQL.
Transact-SQL konwencje składni
Składnia
DATENAME ( datepart , date )
Arguments
datepart
Konkretna część argumentu o dacie, która DATENAME wróci. W tej tabeli wymieniono wszystkie prawidłowe argumenty elementów datepart .
Uwaga / Notatka
DATENAME nie akceptuje odpowiedników zmiennych zdefiniowanych przez użytkownika dla argumentów datepart .
| datepart | Abbreviations |
|---|---|
| rok | yy, yyyy |
| ćwiartka | qq, q |
| miesiąc | mm, m |
| dayofyear | dy, y |
| dzień | dd, d |
| tydzień | WK, WW |
| Rozkład | DW, W |
| godzina | hh |
| minuta | mi, n |
| sekunda | SS, S |
| milisekunda | Ms |
| mikrosekundy | Mcs |
| Nanosekund | Ns |
| TZoffset | TZ |
| ISO_WEEK | ISOWK, ISOWW |
date
Wyrażenie, które może rozwiązywać się do jednego z następujących typów danych:
- date
- datetime
- datetimeoffset
- datetime2
- smalldatetime
- time
W przypadku datyDATENAME zaakceptuje wyrażenie kolumny, wyrażenie, literał ciągu lub zmienną zdefiniowaną przez użytkownika. Użyj czterocyfrowych lat, aby uniknąć problemów z niejednoznacznością. Aby uzyskać informacje o dwóch cyfrowych latach , zobacz Konfigurowanie opcji konfiguracji serwera o dwóch cyfrach.
Zwracany typ
nvarchar
Wartość zwracana
- Każdy element datepart i jego skróty zwracają tę samą wartość.
Wartość zwrotna zależy od środowiska językowego ustawionego przy użyciu SET LANGUAGE oraz od opcji konfiguracji serwera Configure the default language (Konfiguruj domyślny język Server Configuration w logincie). Wartość zwrotu zależy od SET DATEFORMAT, jeśli date jest literalem ciągu w niektórych formatach. USTAW DATEFORMAT nie zmienia wartości zwrotnej, gdy data jest kolumnowym wyrażeniem daty lub typu danych o czasie.
Gdy parametr daty ma argument typu daty, wartość zwrotna zależy od ustawienia określonego przez SET DATEFIRST.
TZoffset datepart Argument
Jeśli argument datepart to TZoffset (tz), a argument daty nie ma offsetu strefy czasowej, DATEADD zwraca 0.
smalldatetimetime Argument
Gdy date jest małodatowe,DATENAME zwraca sekundy jako 00.
Domyślnie zwracane dla części daty, która nie znajduje się w argumencie daty
Jeśli typ danych argumentu data nie ma określonej części daty, zwróci domyślną wartość dla tej części tylko wtedy, DATENAME gdy argument daty ma literal .
Na przykład domyślny rok-miesiąc-dzień dla dowolnego typu danych datowych to 1900-01-01. To zdanie zawiera argumenty date part dla datepart, argument time dla date oraz DATENAME zwraca 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');
Jeśli data jest podana jako zmienna lub kolumna tabeli, a typ danych dla tej zmiennej lub kolumny nie zawiera określonego fragmentu daty, DATENAME zwróci się błąd 9810. W tym przykładzie zmienna @t ma typ danych czasowych . Przykład nie jest zaliczony, ponieważ data część roku jest nieprawidłowa dla typu danych czasowych :
DECLARE @t time = '12:10:30.123';
SELECT DATENAME(year, @t);
Uwagi
Użyj DATENAME w następujących klauzulach:
- GRUPUJ WEDŁUG
- HAVING
- SORTUJ WEDŁUG
- WYBIERZ <listę>
- WHERE
W SQL Server DATENAME domyślnie obsadza literale ciągów jako typ datetime2 . Innymi słowy, nie obsługuje formatu YDM, DATENAME gdy data jest przekazywana jako ciąg znaków. Aby użyć formatu YDM, należy jawnie rzutować ciąg na typ datetime lub smalldatetime .
Przykłady
Ten przykład zwraca części daty dla określonej daty. Podstaw wartość datepart z tabeli jako argument datepart w instrukcji SELECT:
SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10');
Oto zestaw wyników.
| datepart | Wartość zwracana |
|---|---|
| rok, yyyy, yy | 2007 |
| Ćwierćdolarówka, QQ, Q | 4 |
| miesiąc, mm, m | październik |
| dayofyear, dy, y | 303 |
| Day, DD, D | 30 |
| tydzień, tydzień, śwień | 44 |
| W dni powszednie, dw | Wtorek |
| godzina, hh | 12 |
| minuta, n | 15 |
| Po drugie, SS, S | 32 |
| Milisekunda, pani | 123 |
| Mikrosekunda, MCS | 123456 |
| nanosekunda, ns | 123456700 |
| TZoffset, tz | +05:10 |
| ISO_WEEK, ISOWK, ISOWW | 44 |
Azure Synapse Analytics and Analytics Platform System (PDW)
Ten przykład zwraca części daty dla określonej daty. Podstaw wartość datepart z tabeli jako argument datepart w instrukcji SELECT:
SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10');
Oto zestaw wyników.
| datepart | Wartość zwracana |
|---|---|
| rok, yyyy, yy | 2007 |
| Ćwierćdolarówka, QQ, Q | 4 |
| miesiąc, mm, m | październik |
| dayofyear, dy, y | 303 |
| Day, DD, D | 30 |
| tydzień, tydzień, śwień | 44 |
| W dni powszednie, dw | Wtorek |
| godzina, hh | 12 |
| minuta, n | 15 |
| Po drugie, SS, S | 32 |
| Milisekunda, pani | 123 |
| Mikrosekunda, MCS | 123456 |
| nanosekunda, ns | 123456700 |
| TZoffset, tz | +05:10 |
| ISO_WEEK, ISOWK, ISOWW | 44 |