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
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database di Microsoft Fabric
Bagian dalam artikel ini mencakup semua Transact-SQL jenis dan fungsi data tanggal dan waktu, termasuk penggunaan dan contoh.
Jenis data tanggal dan waktu
Tabel berikut mencantumkan tipe data tanggal dan waktu Transact-SQL.
| Jenis Data | Format | Rentang | Akurasi | Ukuran penyimpanan (byte) | Presisi kedua pecahan yang ditentukan pengguna | Offset zona waktu |
|---|---|---|---|---|---|---|
| time | HH:mm:ss[.nnnnnnn] | 00:00:00.0000000 hingga 23:59:59.9999999 | 100 nanodetik | 3 hingga 5 | Ya | Tidak |
| date | yyyy-MM-dd | 0001-01-01 hingga 9999-12-31 | 1 hari | 3 | Tidak | Tidak |
| smalldatetime | dd-MM-yyyy HH.mm.ss | 1900-01-01 hingga 2079-06-06 | 1 menit | 4 | Tidak | Tidak |
| datetime | yyyy-MM-dd HH:mm:ss[.nnn] | 1753-01-01 hingga 9999-12-31 | 0,00333 detik | 8 | Tidak | Tidak |
| datetime2 | yyyy-MM-dd HH:mm:ss[.nnnnnnn] | 0001-01-01 00:00:00.0000000 hingga 9999-12-31 23:59:59.99999999 | 100 nanodetik | 6 hingga 8 | Ya | Tidak |
| datetimeoffset | yyyy-MM-dd HH:mm:ss[.nnnnnnn] [+|-]HH:mm | 0001-01-01 00:00:00.0000000 hingga 9999-12-31 23:59:59.9999999 (dalam UTC) | 100 nanodetik | 8 hingga 10 | Ya | Ya |
Catatan
Jenis data rowversion Transact-SQL bukan jenis data tanggal atau waktu. tanda waktu adalah sinonim yang tidak digunakan lagi untuk rowversion.
Fungsi tanggal dan waktu
Tabel berikut mencantumkan fungsi tanggal dan waktu Transact-SQL. Untuk informasi selengkapnya tentang determinisme, lihat Fungsi Deterministik dan Nondeterministik.
Fungsi yang mengembalikan nilai tanggal dan waktu sistem
Transact-SQL memperoleh semua nilai tanggal dan waktu sistem dari sistem operasi komputer tempat instans SQL Server berjalan.
Fungsi tanggal dan waktu sistem presisi yang lebih tinggi
Karena SQL Server 2008 (10.0.x), Mesin Database memperoleh nilai tanggal dan waktu melalui penggunaan GetSystemTimeAsFileTime() Windows API. Akurasi tergantung pada perangkat keras komputer dan versi Windows tempat instans SQL Server berjalan. API ini memiliki presisi tetap pada 100 nanodetik.
GetSystemTimeAdjustment() Gunakan WINDOWS API untuk menentukan akurasi.
| Fungsi | Sintaks | Nilai hasil | Jenis data kembalian | Determinisme |
|---|---|---|---|---|
| SYSDATETIME | SYSDATETIME() |
Fungsi mengembalikan SYSDATETIME nilai datetime2(7) yang berisi tanggal dan waktu komputer tempat instans SQL Server berjalan. Nilai yang dikembalikan tidak menyertakan offset zona waktu. |
datetime2(7) | Nondeterministik |
| SYSDATETIMEOFFSET | SYSDATETIMEOFFSET () |
Fungsi mengembalikan SYSDATETIMEOFFSET nilai datetimeoffset(7) yang berisi tanggal dan waktu komputer tempat instans SQL Server berjalan. Nilai yang dikembalikan mencakup offset zona waktu. |
datetimeoffset(7) | Nondeterministik |
| SYSDATETIME | SYSUTCDATETIME () |
Fungsi mengembalikan SYSUTCDATETIME nilai datetime2(7) yang berisi tanggal dan waktu komputer tempat instans SQL Server berjalan.
SYSUTCDATETIME mengembalikan nilai tanggal dan waktu sebagai waktu UTC (Waktu Universal Terkoordinasi). |
datetime2(7) | Nondeterministik |
Fungsi tanggal dan waktu sistem presisi yang lebih rendah
| Fungsi | Sintaks | Nilai hasil | Jenis data kembalian | Determinisme |
|---|---|---|---|---|
| CURRENT_TIMESTAMP | CURRENT_TIMESTAMP |
Fungsi mengembalikan CURRENT_TIMESTAMP nilai datetime yang berisi tanggal dan waktu komputer tempat instans SQL Server berjalan. Nilai yang dikembalikan tidak menyertakan offset zona waktu. |
datetime | Nondeterministik |
| GETDATE | GETDATE() |
Fungsi mengembalikan GETDATE nilai datetime yang berisi tanggal dan waktu komputer tempat instans SQL Server berjalan. Nilai yang dikembalikan tidak menyertakan offset zona waktu. |
datetime | Nondeterministik |
| GETUTCDATE | GETUTCDATE() |
Fungsi mengembalikan GETUTCDATE nilai datetime yang berisi tanggal dan waktu komputer tempat instans SQL Server berjalan. Fungsi mengembalikan GETUTCDATE nilai tanggal dan waktu sebagai waktu UTC (Waktu Universal Terkoordinasi). |
datetime | Nondeterministik |
| CURRENT_DATE | CURRENT_DATE |
Fungsi mengembalikan CURRENT_DATE nilai tanggal yang hanya berisi tanggal komputer tempat instans Mesin Database berjalan. Nilai yang dikembalikan tidak menyertakan waktu dan offset zona waktu. |
date | Nondeterministik |
Fungsi yang mengembalikan bagian tanggal dan waktu
| Fungsi | Sintaks | Nilai hasil | Jenis data kembalian | Determinisme |
|---|---|---|---|---|
| DATE_BUCKET | DATE_BUCKET ( <datepart>, <number>, <date>, <origin>) |
Fungsi mengembalikan DATE_BUCKET nilai yang sesuai dengan awal setiap wadah tanggal-waktu dari tanda waktu yang ditentukan oleh parameter asal , atau nilai 1900-01-01 00:00:00.000 asal default jika parameter asal tidak ditentukan. |
Jenis pengembalian tergantung pada argumen yang disediakan untuk tanggal. | Nondeterministik |
| DATENAME | DATENAME ( <datepart>, <date> ) |
Fungsi mengembalikan DATENAME string karakter yang mewakili bagian tanggal yang ditentukan dari tanggal yang ditentukan. |
nvarchar | Nondeterministik |
| DATEPART | DATEPART ( <datepart>, <date> ) |
Fungsi mengembalikan DATEPART bilangan bulat yang mewakili bagian tanggal yang ditentukan dari tanggal yang ditentukan. |
int | Nondeterministik |
| DATETRUNC | DATETRUNC ( <datepart>, <date> ) |
Fungsi mengembalikan DATETRUNC tanggal input yang dipotong ke datepart tertentu. |
Jenis pengembalian tergantung pada argumen yang disediakan untuk tanggal. | Nondeterministik |
| DAY | DAY ( <date> ) |
Fungsi DAY mengembalikan bilangan bulat yang mewakili bagian hari dari tanggal yang ditentukan. |
int | Deterministic |
| MONTH | MONTH ( <date> ) |
Fungsi MONTH mengembalikan bilangan bulat yang mewakili bagian bulan dari tanggal yang ditentukan. |
int | Deterministic |
| YEAR | YEAR ( <date> ) |
Fungsi YEAR mengembalikan bilangan bulat yang mewakili bagian tahun dari tanggal yang ditentukan. |
int | Deterministic |
Fungsi yang mengembalikan nilai tanggal dan waktu dari bagiannya
| Fungsi | Sintaks | Nilai hasil | Jenis data kembalian | Determinisme |
|---|---|---|---|---|
| DATEFROMPARTS | DATEFROMPARTS ( <year>, <month>, <day> ) |
Fungsi mengembalikan DATEFROMPARTS nilai tanggal untuk tahun, bulan, dan hari yang ditentukan. |
date | Deterministic |
| DATETIME2FROMPARTS | DATETIME2FROMPARTS ( <year>, <month>, <day>, <hour>, <minute>, <seconds>, <fractions>, <precision> ) |
Fungsi DATETIME2FROMPARTS mengembalikan nilai datetime2 untuk tanggal dan waktu yang ditentukan, dengan presisi yang ditentukan. |
datetime2(presisi) | Deterministic |
| DATETIMEFROMPARTS | DATETIMEFROMPARTS ( <year>, <month>, <day>, <hour>, <minute>, <seconds>, <milliseconds> ) |
Fungsi mengembalikan DATETIMEFROMPARTS nilai datetime untuk tanggal dan waktu yang ditentukan. |
datetime | Deterministic |
| DATETIMEOFFSETFROMPARTS | DATETIMEOFFSETFROMPARTS ( <year>, <month>, <day>, <hour>, <minute>, <seconds>, <fractions>, <hour_offset>, <minute_offset>, <precision> ) |
Fungsi mengembalikan DATETIMEOFFSETFROMPARTS nilai datetimeoffset untuk tanggal dan waktu yang ditentukan, dengan offset dan presisi yang ditentukan. |
datetimeoffset(presisi) | Deterministic |
| SMALLDATETIMEFROMPARTS | SMALLDATETIMEFROMPARTS ( <year>, <month>, <day>, <hour>, <minute> ) |
Fungsi mengembalikan SMALLDATETIMEFROMPARTS nilai smalldatetime untuk tanggal dan waktu yang ditentukan. |
smalldatetime | Deterministic |
| TIMEFROMPARTS | TIMEFROMPARTS ( <hour>, <minute>, <seconds>, <fractions>, <precision> ) |
Fungsi mengembalikan TIMEFROMPARTS nilai waktu untuk waktu yang ditentukan, dengan presisi yang ditentukan. |
time(presisi) | Deterministic |
Fungsi yang mengembalikan nilai perbedaan tanggal dan waktu
| Fungsi | Sintaks | Nilai hasil | Jenis data kembalian | Determinisme |
|---|---|---|---|---|
| DATEDIFF | DATEDIFF ( <datepart>, <startdate>, <enddate> ) |
Fungsi mengembalikan DATEDIFF jumlah batas tanggal atau waktu, disilangkan di antara dua tanggal yang ditentukan. |
int | Deterministic |
| DATEDIFF_BIG | DATEDIFF_BIG ( <datepart>, <startdate>, <enddate> ) |
Fungsi mengembalikan DATEDIFF_BIG jumlah batas tanggal atau waktu, disilangkan di antara dua tanggal yang ditentukan. |
bigint | Deterministic |
Fungsi yang mengubah nilai tanggal dan waktu
| Fungsi | Sintaks | Nilai hasil | Jenis data kembalian | Determinisme |
|---|---|---|---|---|
| DATEADD | DATEADD (<datepart>, <number>, <date> ) |
Fungsi mengembalikan DATEADD nilai datetime baru dengan menambahkan interval ke bagian tanggal yang ditentukan dari tanggal yang ditentukan. |
Tipe data argumen tanggal | Deterministic |
| EOMONTH | EOMONTH ( <start_date> [ , <month_to_add> ] ) |
Fungsi mengembalikan EOMONTH hari terakhir dalam sebulan yang berisi tanggal yang ditentukan, dengan offset opsional. |
Jenis pengembalian adalah jenis argumen start_date , atau secara bergantian , jenis data tanggal . | Deterministic |
| SWITCHOFFSET | SWITCHOFFSET (<DATETIMEOFFSET>, <time_zone> ) |
Fungsi mengembalikan SWITCHOFFSET perubahan offset zona waktu dari nilai datetimeoffset , dan mempertahankan nilai UTC. |
datetimeoffset dengan presisi pecahan argumen DATETIMEOFFSET | Deterministic |
| TODATETIMEOFFSET | TODATETIMEOFFSET (<expression>, <time_zone> ) |
Fungsi mengubah TODATETIMEOFFSET nilai datetime2 menjadi nilai datetimeoffset.
TODATETIMEOFFSET menginterpretasikan nilai datetime2 dalam waktu lokal, untuk time_zone yang ditentukan. |
datetimeoffset dengan presisi pecahan argumen datetime | Deterministic |
Petunjuk / Saran
Untuk informasi dan rekomendasi selengkapnya tentang memanipulasi informasi zona waktu di SQL Server dengan jenis data datetimeoffset , lihat ZONA WAKTU.
Fungsi yang mengatur atau mengembalikan fungsi format sesi
| Fungsi | Sintaks | Nilai hasil | Jenis data kembalian | Determinisme |
|---|---|---|---|---|
| @@DATEFIRST | @@DATEFIRST |
Fungsi @@DATEFIRST mengembalikan nilai saat ini, untuk sesi, dari SET DATEFIRST. |
kecil | Nondeterministik |
| SET DATEFIRST |
SET DATEFIRST { *number* } atau SET DATEFIRST { *@number_var* } |
Pernyataan menetapkan SET DATEFIRST hari pertama dalam seminggu menjadi angka dari 1 hingga 7. |
Tidak berlaku | Tidak berlaku |
| SET DATEFORMAT |
SET DATEFORMAT { *format* } atau SET DATEFORMAT { *@format_var* } |
Pernyataan SET DATEFORMAT menetapkan urutan bagian tanggal (bulan/hari/tahun) untuk memasukkan data datetime atau smalldatetime . |
Tidak berlaku | Tidak berlaku |
| @@LANGUAGE | @@LANGUAGE |
Fungsi mengembalikan @@LANGUAGE nama bahasa yang digunakan saat ini.
@@LANGUAGE bukan fungsi tanggal atau waktu. Namun, pengaturan bahasa dapat memengaruhi output fungsi tanggal. |
Tidak berlaku | Tidak berlaku |
| SET LANGUAGE |
SET LANGUAGE { [ N ] '*language*' } atau SET LANGUAGE { *@language_var* } |
Mengatur lingkungan bahasa untuk pesan sesi dan sistem.
SET LANGUAGE bukan fungsi tanggal atau waktu, tetapi pengaturan bahasa memengaruhi output fungsi tanggal. |
Tidak berlaku | Tidak berlaku |
| sp_helplanguage |
sp_helplanguage [ [ *@language* = ] '*language*' ] |
Fungsi mengembalikan sp_helplanguage informasi tentang format tanggal semua bahasa yang didukung. Pengaturan bahasa memengaruhi output fungsi tanggal. |
Tidak berlaku | Tidak berlaku |
Fungsi yang memvalidasi nilai tanggal dan waktu
| Fungsi | Sintaks | Nilai hasil | Jenis data kembalian | Determinisme |
|---|---|---|---|---|
| ISDATE | ISDATE ( <expression> ) |
Fungsi menentukan ISDATE apakah ekspresi input datetime atau smalldatetime memiliki nilai tanggal atau waktu yang valid. |
int | Fungsi ISDATE ini hanya deterministik digunakan dengan fungsi , ketika CONVERT parameter gaya ditentukan, dan ketika gaya tidak sama dengan CONVERT 0, 100, 9, atau 109. |
Artikel terkait tanggal dan waktu
| Artikel | Deskripsi |
|---|---|
| FORMAT | Fungsi mengembalikan FORMAT nilai yang diformat dengan format dan budaya opsional yang ditentukan. Gunakan fungsi FORMAT untuk pemformatan nilai tanggal/waktu dan angka yang sadar lokal sebagai string. |
| CAST dan CONVERT | Fungsi CAST dan CONVERT mengonversi nilai tanggal dan waktu ke dan dari literal string serta format tanggal dan waktu lainnya. |
| Tulis Pernyataan Transact-SQL Internasional | Menyediakan panduan portabilitas database dan aplikasi database yang menggunakan pernyataan Transact-SQL dari satu bahasa ke bahasa lain, atau yang mendukung beberapa bahasa. |
| Fungsi Skalar ODBC | Menyediakan informasi tentang fungsi skalar ODBC yang tersedia untuk digunakan dalam pernyataan Transact-SQL. Menyertakan fungsi tanggal dan waktu ODBC. |