Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara Menemukan Hari Terakhir Bulan Ini di SQL Server

Dimulai dengan SQL Server 2012, EOMONTH() fungsi memungkinkan Anda untuk menemukan hari terakhir bulan tertentu. Ia menerima dua argumen; satu untuk tanggal mulai, dan satu argumen opsional untuk menentukan berapa bulan yang akan ditambahkan ke tanggal tersebut.

Artikel ini memberikan contoh yang menunjukkan bagaimana EOMONTH() bekerja di SQL Server.

Sintaks

Pertama, inilah sintaksnya:

EOMONTH ( start_date [, month_to_add ] )

Dimana start_date adalah tanggal di mana Anda ingin menemukan hari terakhir dalam sebulan, dan month_to_add adalah berapa bulan (jika ada) yang ingin Anda tambahkan ke tanggal mulai.

EOMONTH() fungsi mengembalikan nilai dalam tanggal tipe data.

Contoh 1

Berikut adalah contoh dasar untuk mendemonstrasikan cara kerjanya:

SELECT EOMONTH( '2025-01-01' ) AS Result;

Hasil:

+------------+
| Result     |
|------------|
| 2025-01-31 |
+------------+

Dalam hal ini, bulan awal kita adalah Januari, jadi hasilnya menunjukkan bahwa hari terakhir Januari adalah 31.

Contoh 2 – Tambahkan Bulan

Berikut adalah contoh penggunaan argumen kedua untuk menentukan berapa bulan yang akan ditambahkan. Dalam hal ini, saya menambahkan satu bulan ke tanggal mulai:

SELECT EOMONTH( '2025-01-01', 1 ) AS Result;

Hasil:

+------------+
| Result     |
|------------|
| 2025-02-28 |
+------------+

Dan hasilnya menunjukkan kepada kita hari terakhir bulan Februari. Ini karena kami menambahkan satu bulan ke tanggal mulai.

Contoh 3 – Kurangi Sebulan

Anda dapat menggunakan angka negatif untuk mengurangi satu bulan atau lebih dari tanggal mulai. Seperti ini:

SELECT EOMONTH( '2025-01-01', -1 ) AS Result;

Hasil:

+------------+
| Result     |
|------------|
| 2024-12-31 |
+------------+

Contoh 4 – Menggunakan Tanggal Sistem

Berikut ini contoh mendapatkan akhir bulan dari tanggal saat ini:

SELECT 
    SYSDATETIME() AS 'Current Date',
    EOMONTH( SYSDATETIME() ) AS 'End of Month';

Hasil:

+-----------------------------+----------------+
| Current Date                | End of Month   |
|-----------------------------+----------------|
| 2018-06-04 22:53:32.7694823 | 2018-06-30     |
+-----------------------------+----------------+

Seperti disebutkan, EOMONTH() fungsi mengembalikan nilainya di tanggal tipe data. Itulah mengapa hasil dalam contoh ini menunjukkan perbedaan antara bagaimana tanggal mulai ditampilkan dan bagaimana akhir bulan ditampilkan.

Dalam hal ini, tanggal mulai kita dibuat dengan SYSDATETIME() fungsi, yang mengembalikan nilainya sebagai datetime2(7) tipe data. Tipe data ini mencakup komponen waktu dan juga tanggal. Tanggal tipe data hanya menyertakan komponen tanggal.

Anda selalu dapat memformat tanggal menggunakan FORMAT() fungsi, atau gunakan berbagai fungsi TSQL lainnya untuk mengekstrak berbagai bagian tanggal.

Contoh 5 – Hitung Mundur ke Akhir Bulan

Anda juga dapat menggabungkan EOMONTH() fungsi dengan fungsi lain untuk mencapai hasil yang diinginkan.

Berikut adalah contoh yang mengembalikan berapa hari, jam, menit, dan detik hingga akhir bulan:

SELECT 
    FORMAT(SYSDATETIME(), 'dd MMMM') AS 'Current Date',
    FORMAT(EOMONTH( SYSDATETIME() ), 'dd MMMM') AS 'EOM',
    DATEDIFF(day, SYSDATETIME(), EOMONTH( SYSDATETIME() )) AS 'Days',
    DATEDIFF(hour, SYSDATETIME(), EOMONTH( SYSDATETIME() )) AS 'Hours',
    DATEDIFF(minute, SYSDATETIME(), EOMONTH( SYSDATETIME() )) AS 'Minutes',
    DATEDIFF(second, SYSDATETIME(), EOMONTH( SYSDATETIME() )) AS 'Seconds';

Hasil:

+----------------+---------+--------+---------+-----------+-----------+
| Current Date   | EOM     | Days   | Hours   | Minutes   | Seconds   |
|----------------+---------+--------+---------+-----------+-----------|
| 04 June        | 30 June | 26     | 601     | 36055     | 2163252   |
+----------------+---------+--------+---------+-----------+-----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menghubungkan ke Beberapa Server SQL dalam Satu Klik (Grup Server Terdaftar) - Tutorial SQL Server / TSQL Bagian 5

  2. Periksa Status Semua Pesan Database Database di SQL Server (T-SQL)

  3. Cara membuat skrip untuk membuat Ulang Batasan Kunci Asing di Database SQL Server - Tutorial SQL Server / TSQL Bagian 73

  4. Skrip Inventaris Koleksi SQL Server -2

  5. Bagaimana cara membuat langkah di Pekerjaan Agen Server SQL saya yang akan menjalankan paket SSIS saya?