Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Database Azure
SQLInstans
Terkelola Azure SQLAzure Synapse Analytics
Sistem Platform Analitik (PDW)
Database SQL di Microsoft Fabric
Fungsi ini mengembalikan string karakter yang mewakili bagian tanggal yang ditentukan dari tanggal yang ditentukan.
Lihat Jenis dan Fungsi Data Tanggal dan Waktu (Transact-SQL) untuk gambaran umum semua jenis dan fungsi data tanggal dan waktu Transact-SQL.
Sintaks
DATENAME ( datepart , date )
Argumen
datepart
Bagian spesifik dari argumen tanggal yang DATENAME akan ditampilkan. Tabel ini mencantumkan semua argumen datepart yang valid.
Catatan
DATENAME tidak menerima variabel yang ditentukan pengguna yang setara untuk argumen datepart .
| datepart | Singkatan |
|---|---|
| tahun | yy, yyyy |
| kuartal | qq, q |
| bulan | mm, m |
| dayofyear | dy, y |
| hari | dd, d |
| minggu | wk, ww |
| hari kerja | DW, W |
| jam | hh |
| menit | mi, n |
| detik | SS, S |
| milidetik | ms |
| mikrosecond | Mcs |
| nanodetik | Ns |
| TZoffset | tz |
| ISO_WEEK | ISOWK, ISOWW |
date
Ekspresi yang dapat mengatasi salah satu jenis data berikut:
- date
- datetime
- datetimeoffset
- datetime2
- smalldatetime
- time
Untuk tanggal, DATENAME akan menerima ekspresi kolom, ekspresi, string literal, atau variabel yang ditentukan pengguna. Gunakan empat digit tahun untuk menghindari masalah ambiguitas. Lihat Mengonfigurasi Opsi Konfigurasi Server cutoff dua digit tahun untuk informasi tentang tahun dua digit.
Jenis Hasil
nvarchar
Tampilkan Nilai
- Setiap datepart dan singkatannya mengembalikan nilai yang sama.
Nilai pengembalian tergantung pada lingkungan bahasa yang ditetapkan dengan menggunakan SET LANGUAGE, dan dengan Opsi Konfigurasi Server bahasa default dari login. Nilai yang dikembalikan bergantung pada SET DATEFORMAT jika tanggal adalah literal string dari beberapa format. SET DATEFORMAT tidak mengubah nilai pengembalian saat tanggal adalah ekspresi kolom dari tipe data tanggal atau waktu.
Ketika parameter tanggal memiliki argumen jenis data tanggal, nilai pengembalian bergantung pada pengaturan yang ditentukan oleh SET DATEFIRST.
Argumen datepart TZoffset
Jika argumen datepart adalah TZoffset (tz) dan argumen tanggal tidak memiliki offset zona waktu, DATEADD mengembalikan 0.
Argumen tanggal smalldatetime
Ketika tanggal adalah smalldatetime, DATENAME mengembalikan detik sebagai 00.
Default Dikembalikan untuk datepart Yang Tidak ada dalam Argumen tanggal
Jika tipe data argumen tanggal tidak memiliki datepart yang ditentukan, DATENAME akan mengembalikan default untuk datepart tersebut hanya jika argumen tanggal memiliki literal .
Misalnya, hari bulan tahun default untuk jenis data tanggal apa pun adalah 1900-01-01. Pernyataan ini memiliki argumen bagian tanggal untuk datepart, argumen waktu untuk tanggal, dan DATENAME mengembalikan 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');
Jika tanggal ditentukan sebagai variabel atau kolom tabel, dan jenis data untuk variabel atau kolom tersebut tidak memiliki datepart yang ditentukan, DATENAME akan mengembalikan kesalahan 9810. Dalam contoh ini, variabel @t memiliki jenis data waktu . Contoh gagal karena tanggal bagian tahun tidak valid untuk jenis data waktu :
DECLARE @t time = '12:10:30.123';
SELECT DATENAME(year, @t);
Keterangan
Gunakan DATENAME dalam klausa berikut:
- Kelompokkan menurut
- MEMILIKI
- URUTKAN BERDASARKAN
- DAFTAR SELECT <>
- WHERE
Di SQL Server, DATENAME secara implisit melemparkan literal string sebagai jenis datetime2 . Dengan kata lain, DATENAME tidak mendukung format YDM saat tanggal diteruskan sebagai string. Anda harus secara eksplisit mentransmisikan string ke jenis datetime atau smalldatetime untuk menggunakan format YDM.
Contoh
Contoh ini mengembalikan bagian tanggal untuk tanggal yang ditentukan. Ganti nilai datepart dari tabel untuk datepart argumen dalam pernyataan SELECT:
SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10');
Berikut set hasilnya.
| datepart | Nilai hasil |
|---|---|
| tahun, yyyy, yy | 2007 |
| kuartal, qq, q | 4 |
| bulan, mm, m | Oktober |
| HariTahun, Dy, Y | 303 |
| hari, dd, d | 30 |
| minggu, wk, ww | 44 |
| hari kerja, dw | Selasa |
| jam, hh | 12 |
| menit, n | 15 |
| kedua, ss, s | 32 |
| milidetik, ms | 123 |
| mikrodetik, MCS | 123456 |
| nanodetik, ns | 123456700 |
| TZoffset, tz | +05:10 |
| ISO_WEEK, ISOWK, ISOWW | 44 |
Sistem Platform Analitik dan Analitik Azure Synapse (PDW)
Contoh ini mengembalikan bagian tanggal untuk tanggal yang ditentukan. Ganti nilai datepart dari tabel untuk datepart argumen dalam pernyataan SELECT:
SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10');
Berikut set hasilnya.
| datepart | Nilai hasil |
|---|---|
| tahun, yyyy, yy | 2007 |
| kuartal, qq, q | 4 |
| bulan, mm, m | Oktober |
| HariTahun, Dy, Y | 303 |
| hari, dd, d | 30 |
| minggu, wk, ww | 44 |
| hari kerja, dw | Selasa |
| jam, hh | 12 |
| menit, n | 15 |
| kedua, ss, s | 32 |
| milidetik, ms | 123 |
| mikrodetik, MCS | 123456 |
| nanodetik, ns | 123456700 |
| TZoffset, tz | +05:10 |
| ISO_WEEK, ISOWK, ISOWW | 44 |