CURRENT_TIMESTAMP
fungsi mengembalikan tanggal dan waktu saat ini sebagai waktu tanggal nilai. Nilai ini berasal dari sistem operasi komputer yang menjalankan instance SQL Server.
Fungsi ini adalah ANSI SQL yang setara dengan T-SQL GETDATE()
fungsi, sehingga Anda dapat menggunakan mana saja yang Anda inginkan. Perhatikan bahwa kedua fungsi memiliki rentang tanggal yang lebih rendah dan presisi pecahan default yang lebih rendah daripada SYSDATETIME()
T-SQL fungsi (yang mengembalikan datetime2(7) nilai).
Artikel ini memberikan contoh CURRENT_TIMESTAMP
fungsi, termasuk bagaimana Anda dapat menggunakannya dengan fungsi lain untuk mengembalikan nilai yang Anda minati.
Sintaks
Sintaksnya seperti ini:
CURRENT_TIMESTAMP
Jadi Anda cukup memanggil fungsi ini tanpa argumen apa pun.
Contoh
Berikut adalah contoh dasar penggunaan SELECT
pernyataan untuk mengembalikan tanggal dan waktu saat ini dari CURRENT_TIMESTAMP
:
SELECT CURRENT_TIMESTAMP AS Result;
Hasil:
+-------------------------+ | Result | |-------------------------| | 2018-06-16 00:06:36.740 | +-------------------------+
Ekstrak Bagian dari Tanggal
Jika Anda hanya menginginkan sebagian dari nilai yang dikembalikan, Anda dapat menggunakan DATEPART()
untuk mengembalikan hanya sebagian dari tanggal/waktu yang Anda minati.
Contoh:
SELECT DATEPART(month, CURRENT_TIMESTAMP) AS Result;
Hasil:
+----------+ | Result | |----------| | 6 | +----------+
Berikut contoh lain menggunakan MONTH()
fungsi. Hasilnya sama.
SELECT MONTH(CURRENT_TIMESTAMP) AS Result;
Hasil:
+----------+ | Result | |----------| | 6 | +----------+
Kedua fungsi tersebut mengembalikan bulan berjalan. Tetapi mereka mengembalikannya sebagai bilangan bulat yang mewakili nomor bulan.
Jika Anda ingin bulan nama sebagai gantinya, Anda dapat menggunakan DATENAME()
:
SELECT DATENAME(month, CURRENT_TIMESTAMP) AS Result;
Hasil:
+----------+ | Result | |----------| | June | +----------+
Format Tanggal
Anda juga dapat menggunakan fungsi T-SQL lainnya untuk memformat tanggal sesuai kebutuhan.
Berikut ini contoh penggunaan FORMAT()
berfungsi untuk memformat hasil:
SELECT FORMAT(CURRENT_TIMESTAMP, 'd', 'en-US') AS 'd, en-US', FORMAT(CURRENT_TIMESTAMP, 'd', 'en-gb') AS 'd, en-gb', FORMAT(CURRENT_TIMESTAMP, 'D', 'en-US') AS 'D, en-US', FORMAT(CURRENT_TIMESTAMP, 'D', 'en-gb') AS 'D, en-gb';
Hasil:
+------------+------------+-------------------------+--------------+ | d, en-US | d, en-gb | D, en-US | D, en-gb | |------------+------------+-------------------------+--------------| | 6/16/2018 | 16/06/2018 | Saturday, June 16, 2018 | 16 June 2018 | +------------+------------+-------------------------+--------------+
Contoh lainnya di Cara Memformat Tanggal dan Waktu di SQL Server.
Menambah Nilai dan Menemukan Perbedaannya
Anda dapat menggunakan fungsi seperti DATEDIFF()
untuk mengembalikan perbedaan antara tanggal saat ini dan tanggal lainnya.
Berikut ini contoh penggunaan DATEADD()
untuk menambahkan satu bulan ke tanggal saat ini, lalu mencari tahu perbedaan hari:
DECLARE @date1 datetime2 = CURRENT_TIMESTAMP; DECLARE @date2 datetime2 = DATEADD(month, 1, CURRENT_TIMESTAMP); SELECT DATEDIFF(day, @date1, @date2) AS Result;
Hasil:
+----------+ | Result | |----------| | 30 | +----------+