SYSDATETIME()
fungsi mengembalikan tanggal dan waktu saat ini sebagai datetime2(7) nilai. Nilai ini berasal dari sistem operasi komputer yang menjalankan instance SQL Server.
Artikel ini memberikan contoh SYSDATETIME()
fungsi, termasuk bagaimana Anda dapat menggunakannya dengan fungsi lain untuk mengembalikan nilai yang Anda minati.
Sintaks
Pertama, inilah sintaksnya:
SYSDATETIME ( )
Jadi fungsi ini sebenarnya tidak menerima argumen apa pun. Anda cukup menyebutnya tanpa argumen.
Contoh
Berikut adalah contoh dasar penggunaan SELECT
pernyataan untuk mengembalikan tanggal dan waktu saat ini dari SYSDATETIME()
:
SELECT SYSDATETIME() AS Result;
Hasil:
+-----------------------------+ | Result | |-----------------------------| | 2018-06-15 23:09:13.5852199 | +-----------------------------+
Jadi seperti yang disebutkan, ia mengembalikan datetime2(7) nilai. datetime2 jenis data memiliki rentang tanggal yang lebih besar dan presisi pecahan default yang lebih besar daripada waktu-tanggal tipe data (yang merupakan tipe data yang GETDATE()
kembali – lihat SYSDATETIME() vs GETDATE():Apa Bedanya?).
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, SYSDATETIME()) AS Result;
Hasil:
+----------+ | Result | |----------| | 6 | +----------+
Terkadang ada lebih dari satu cara untuk mendapatkan hasil yang sama di SQL Server. Berikut contoh lain menggunakan MONTH()
fungsi:
SELECT MONTH(SYSDATETIME()) 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, SYSDATETIME()) 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(SYSDATETIME(), 'd', 'en-US') AS 'd, en-US', FORMAT(SYSDATETIME(), 'd', 'en-gb') AS 'd, en-gb', FORMAT(SYSDATETIME(), 'D', 'en-US') AS 'D, en-US', FORMAT(SYSDATETIME(), 'D', 'en-gb') AS 'D, en-gb';
Hasil:
+------------+------------+-----------------------+--------------+ | d, en-US | d, en-gb | D, en-US | D, en-gb | |------------+------------+-----------------------+--------------| | 6/15/2018 | 15/06/2018 | Friday, June 15, 2018 | 15 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 = SYSDATETIME(); DECLARE @date2 datetime2 = DATEADD(month, 1, SYSDATETIME()); SELECT DATEDIFF(day, @date1, @date2) AS Result;
Hasil:
+----------+ | Result | |----------| | 30 | +----------+