Jenis dan fungsi data tanggal dan waktu (Transact-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
Bagian dalam artikel ini mencakup semua jenis dan fungsi data tanggal dan waktu Transact-SQL.
- Jenis data tanggal dan waktu
- Fungsi tanggal dan waktu
- Fungsi yang mengembalikan nilai tanggal dan waktu sistem
- Fungsi yang mengembalikan bagian tanggal dan waktu
- Fungsi yang mengembalikan nilai tanggal dan waktu dari bagiannya
- Fungsi yang mengembalikan nilai perbedaan tanggal dan waktu
- Fungsi yang mengubah nilai tanggal dan waktu
- Fungsi yang mengatur atau mengembalikan fungsi format sesi
- Fungsi yang memvalidasi nilai tanggal dan waktu
- Artikel terkait tanggal dan waktu
Jenis data tanggal dan waktu
Jenis data tanggal dan waktu T-SQL tercantum dalam tabel berikut:
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 | YYYY-MM-DD 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. Lihat Fungsi Deterministik dan Nondeterministik untuk informasi selengkapnya tentang determinisme.
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. Gunakan GETSystemTimeAdjustment() Windows API untuk menentukan akurasi.
Fungsi | Sintaks | Nilai hasil | Jenis data kembalian | Determinisme |
---|---|---|---|---|
SYSDATETIME | SYSDATETIME ( ) | Mengembalikan 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 ( ) | Mengembalikan 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 ( ) | Mengembalikan nilai datetime2(7) yang berisi tanggal dan waktu komputer tempat instans SQL Server berjalan. Fungsi 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 | Mengembalikan 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 ( ) | Mengembalikan 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 ( ) | Mengembalikan nilai datetime yang berisi tanggal dan waktu komputer tempat instans SQL Server berjalan. Fungsi mengembalikan nilai tanggal dan waktu sebagai waktu UTC (Waktu Universal Terkoordinasi). | datetime | Nondeterministik |
Fungsi yang mengembalikan bagian tanggal dan waktu
Fungsi | Sintaks | Nilai hasil | Jenis data kembalian | Determinisme |
---|---|---|---|---|
DATE_BUCKET | DATE_BUCKET ( datepart, number, date, origin ) | Mengembalikan 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 ) | Mengembalikan string karakter yang mewakili bagian tanggal yang ditentukan dari tanggal yang ditentukan. | nvarchar | Nondeterministik |
DATEPART | DATEPART ( datepart, date ) | Mengembalikan bilangan bulat yang menunjukkan bagian tanggal yang ditentukan dari tanggal yang ditentukan. | int | Nondeterministik |
DATETRUNC | DATETRUNC ( datepart, date ) | Mengembalikan tanggal input yang dipotong ke datepart tertentu. | Jenis pengembalian tergantung pada argumen yang disediakan untuk tanggal. | Nondeterministik |
DAY | DAY ( date ) | Mengembalikan bilangan bulat yang menunjukkan bagian hari dari tanggal yang ditentukan. | int | Deterministic |
MONTH | MONTH ( date ) | Mengembalikan bilangan bulat yang mewakili bagian bulan dari tanggal yang ditentukan. | int | Deterministic |
YEAR | YEAR ( date ) | 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 ( tahun, bulan, hari ) | Mengembalikan nilai tanggal untuk tahun, bulan, dan hari yang ditentukan. | date | Deterministic |
DATETIME2FROMPARTS | DATETIME2FROMPARTS ( tahun, bulan, hari, jam, menit, detik, pecahan, presisi) | Mengembalikan nilai datetime2 untuk tanggal dan waktu yang ditentukan, dengan presisi yang ditentukan. | datetime2( presisi ) | Deterministic |
DATETIMEFROMPARTS | DATETIMEFROMPARTS ( tahun, bulan, hari, jam, menit, detik, milidetik) | Mengembalikan nilai tanggalwaktu untuk tanggal dan waktu yang ditentukan. | datetime | Deterministic |
DATETIMEOFFSETFROMPARTS | DATETIMEOFFSETFROMPARTS ( tahun, bulan, hari, jam, menit, detik, pecahan, hour_offset, minute_offset, presisi) | Mengembalikan nilai datetimeoffset untuk tanggal dan waktu yang ditentukan, dengan offset dan presisi yang ditentukan. | datetimeoffset( presisi ) | Deterministic |
SMALLDATETIMEFROMPARTS | SMALLDATETIMEFROMPARTS ( tahun, bulan, hari, jam, menit ) | Mengembalikan nilai smalldatetime untuk tanggal dan waktu yang ditentukan. | smalldatetime | Deterministic |
TIMEFROMPARTS | TIMEFROMPARTS ( jam, menit, detik, pecahan, presisi ) | Mengembalikan 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 ) | Mengembalikan jumlah batas tanggal atau waktu , disilangkan di antara dua tanggal yang ditentukan. | int | Deterministic |
DATEDIFF_BIG | DATEDIFF_BIG ( datepart, startdate, enddate ) | Mengembalikan 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 ) | Mengembalikan nilai tanggalwaktu 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 ] ) | Mengembalikan 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) | SWITCHOFFSET mengubah offset zona waktu dari nilai DATETIMEOFFSET, dan mempertahankan nilai UTC. | datetimeoffset dengan presisi pecahan DATETIMEOFFSET | Deterministic |
TODATETIMEOFFSET | TODATETIMEOFFSET (ekspresi, time_zone) | TODATETIMEOFFSET mengubah nilai datetime2 menjadi nilai datetimeoffset. TODATETIMEOFFSET menginterpretasikan nilai datetime2 dalam waktu lokal, untuk time_zone yang ditentukan. | datetimeoffset dengan presisi pecahan argumen datetime | Deterministic |
Fungsi yang mengatur atau mengembalikan fungsi format sesi
Fungsi | Sintaks | Nilai hasil | Jenis data kembalian | Determinisme |
---|---|---|---|---|
@@DATEFIRST | @@DATEFIRST | Mengembalikan nilai saat ini, untuk sesi, DARI SET DATEFIRST. | kecil | Nondeterministik |
SET DATEFIRST | SET DATEFIRST { number | @number_var } | Mengatur hari pertama dalam seminggu ke angka dari 1 hingga 7. | Tidak berlaku | Tidak berlaku |
SET DATEFORMAT | SET DATEFORMAT { format | @format_var } | Mengatur urutan datepart (bulan/hari/tahun) untuk memasukkan data datetime atau smalldatetime . | Tidak berlaku | Tidak berlaku |
@@LANGUAGE | @@LANGUAGE | Mengembalikan nama bahasa yang digunakan saat ini. @@LANGUAGE bukan fungsi tanggal atau waktu. Namun, pengaturan bahasa dapat memengaruhi output fungsi tanggal. | Tidak berlaku | Tidak berlaku |
ATUR BAHASA | SET BAHASA { [ N ] 'language'language_var@ | } | Mengatur lingkungan bahasa untuk pesan sesi dan sistem. SET LANGUAGE bukan fungsi tanggal atau waktu. Namun, pengaturan bahasa memengaruhi output fungsi tanggal. | Tidak berlaku | Tidak berlaku |
sp_helplanguage | sp_helplanguage [ [ @language = ] 'language' ] | Mengembalikan informasi tentang format tanggal semua bahasa yang didukung. sp_helplanguage bukan prosedur tanggal atau waktu tersimpan. Namun, 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 ( ekspresi ) | Menentukan apakah ekspresi input datetime atau smalldatetime memiliki nilai tanggal atau waktu yang valid. | int | ISDATE deterministik hanya digunakan dengan fungsi CONVERT, ketika parameter gaya CONVERT ditentukan, dan ketika gaya tidak sama dengan 0, 100, 9, atau 109. |
Artikel terkait tanggal dan waktu
Artikel | Deskripsi |
---|---|
FORMAT | Mengembalikan 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 (Transact-SQL) | Menyediakan informasi tentang konversi 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 (Transact-SQL) | Menyediakan informasi tentang fungsi skalar ODBC yang tersedia untuk digunakan dalam pernyataan Transact-SQL. Ini termasuk fungsi tanggal dan waktu ODBC. |
PADA ZONA WAKTU (T-SQL) | Menyediakan konversi zona waktu. |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk