Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengira Bilangan Hari dalam Sebulan dalam SQL Server?

Bagaimana untuk Mengira Bilangan Hari dalam Sebulan dalam SQL Server?

DDD
DDDasal
2025-01-05 06:53:40835semak imbas

How to Calculate the Number of Days in a Month in SQL Server?

Menentukan Bilangan Hari dalam Sebulan dalam SQL Server

Mengira bilangan hari dalam sebulan ialah tugas biasa dalam SQL Server . Sama ada untuk penjadualan, pelaporan atau pengiraan kewangan, terdapat keperluan untuk menentukan nilai ini dengan cekap.

Fungsi Terbina dalam

Tidak seperti beberapa pangkalan data lain, SQL Server melakukannya tidak menyediakan fungsi terbina dalam langsung untuk menentukan bilangan hari dalam sebulan. Walau bagaimanapun, terdapat dua fungsi yang boleh digabungkan untuk mencapai hasil ini.

Fungsi Ditentukan Pengguna

Fungsi yang ditentukan pengguna berikut memanfaatkan fungsi EOMONTH untuk mendapatkan hari terakhir dalam bulan itu dan kemudian menggunakan fungsi DAY untuk mengira bilangan hari:

CREATE FUNCTION DaysInMonth (@Date DATETIME)
RETURNS INT
AS
BEGIN
    DECLARE @LastDay DATETIME
    SET @LastDay = EOMONTH(@Date)
    RETURN DAY(@LastDay)
END

Contoh Penggunaan

Untuk menggunakan fungsi ini, hanya lulus parameter tarikh dan ia akan mengembalikan bilangan hari dalam bulan tersebut:

DECLARE @ADate DATETIME
SET @ADate = '2023-04-15'
SELECT DaysInMonth(@ADate) AS DaysInApril

Ini akan mengembalikan nilai 30, kerana April mempunyai 30 hari.

Dengan menggabungkan ini fungsi, pengguna SQL Server dengan mudah dan cekap boleh menentukan bilangan hari dalam mana-mana bulan, tanpa mengira tahun atau tarikh yang diberikan.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Bilangan Hari dalam Sebulan dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn