Jenis dan fungsi data tanggal dan waktu (Transact-SQL)

Berlaku untuk: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Bagian dalam artikel ini mencakup semua jenis dan fungsi data tanggal dan waktu Transact-SQL.

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
waktu hh:mm:ss[.nnnnnnn] 00:00:00.00000000 hingga 23:59:59.99999999 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.99999999 (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

Sejak 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 yang diperbaiki pada 100 nanodetik. Gunakan GETSystemTimeAdjustment() Windows API untuk menentukan akurasi.

Fungsi Sintaks Mengembalikan nilai 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 Mengembalikan nilai Jenis data kembalian Determinisme
CURRENT_TIMESTAMP CURRENT_TIMESTAMP Mengembalikan nilai tanggalwaktu 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 tanggalwaktu 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 tanggalwaktu 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 Mengembalikan nilai 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 mewakili 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 mewakili bagian hari dari tanggal yang ditentukan. int Deterministic
MONTH MONTH ( tanggal ) 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 Mengembalikan nilai 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 Mengembalikan nilai Jenis data kembalian Determinisme
DATEDIFF DATEDIFF ( datepart, startdate, enddate ) Mengembalikan jumlah batas datepart tanggal atau waktu, disilangkan di antara dua tanggal yang ditentukan. int Deterministic
DATEDIFF_BIG DATEDIFF_BIG ( datepart, startdate, enddate ) Mengembalikan jumlah batas datepart tanggal atau waktu, disilangkan di antara dua tanggal yang ditentukan. bigint Deterministic

Fungsi yang mengubah nilai tanggal dan waktu

Fungsi Sintaks Mengembalikan nilai Jenis data kembalian Determinisme
DATEADD DATEADD (datepart, number, date ) Mengembalikan nilai datetime baru dengan menambahkan interval ke datepart 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 Mengembalikan nilai Jenis data kembalian Determinisme
@@DATEFIRST @@DATEFIRST Mengembalikan nilai saat ini, untuk sesi, DARI SET DATEFIRST. tinyint 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 LANGUAGE { [ 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 = ] 'bahasa' ] Mengembalikan informasi tentang format tanggal dari 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 Mengembalikan nilai Jenis data kembalian Determinisme
ISDATE ISDATE ( ekspresi ) Menentukan apakah ekspresi input datetime atau smalldatetime memiliki nilai tanggal atau waktu yang valid. int ISDATE adalah deterministik yang 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 sadar lokal nilai tanggal/waktu dan angka 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.
ZONA WAKTU (Transact-SQL) Menyediakan konversi zona waktu.

Lihat juga