主頁(yè) > 知識(shí)庫(kù) > sqlserver中獲取月份的天數(shù)的方法分享

sqlserver中獲取月份的天數(shù)的方法分享

熱門(mén)標(biāo)簽:如何做地圖標(biāo)注圖鋪 成都電話外呼系統(tǒng)一般多少錢(qián) 蘭州語(yǔ)音外呼系統(tǒng)運(yùn)營(yíng)商 al智能電話機(jī)器人 最新人工智能電銷(xiāo)機(jī)器人 沒(méi)聽(tīng)見(jiàn)電話機(jī)器人幫你接 銀川高頻外呼回?fù)芟到y(tǒng)多少錢(qián) 數(shù)字匠心電銷(xiāo)機(jī)器人 陜西電銷(xiāo)外呼系統(tǒng)好用嗎
如下:
復(fù)制代碼 代碼如下:

CREATE FUNCTION [dbo].[udf_DaysInMonth]
(
@Date DATETIME
)
RETURNS INT
AS
BEGIN
DECLARE @dim AS TABLE (M INT,Dy INT)
INSERT INTO @dim VALUES
(1,31),(3,31),(5,31),(7,31),(8,31),(10,31),(12,31),
(4,30),(6,30),(9,30),(11,30),
(2,
CASE WHEN (YEAR(@Date) % 4 = 0 AND YEAR(@Date) % 100 > 0) OR (YEAR(@Date) % 400 = 0)
THEN 29
ELSE 28 END
)
DECLARE @RValue INT
SELECT @RValue = [Dy] FROM @dim WHERE [M] = MONTH(@Date)
RETURN @RValue
END
GO

獲取月份天數(shù),以前在博客上也有寫(xiě)過(guò),不過(guò)它只是取得二月份的天數(shù)。鏈接如下:http://www.cnblogs.com/insus/articles/2025019.html
現(xiàn)第一眼看見(jiàn)專(zhuān)案中這個(gè)函數(shù),總覺(jué)它寫(xiě)得不夠好的感覺(jué),是否能把它改寫(xiě)得更好些,啟發(fā)點(diǎn)也是從獲取二月份天數(shù)的CASE函數(shù)想起的。
因此,我嘗試改了,如下:
復(fù)制代碼 代碼如下:

CREATE FUNCTION [dbo].[udf_DaysInMonth]
(
@Date DATETIME
)
RETURNS INT
AS
BEGIN
RETURN CASE WHEN MONTH(@Date) IN (1,3,5,7,8,10,12) THEN 31
WHEN MONTH(@Date) IN (4,6,9,11) THEN 30
ELSE CASE WHEN (YEAR(@Date) % 4 = 0 AND YEAR(@Date) % 100 > 0) OR (YEAR(@Date) % 400 = 0)
THEN 29
ELSE 28
END
END
END

如果你已經(jīng)有引過(guò)Insus.NET那個(gè)獲取二月份天數(shù)的自定義函數(shù),也可以參考下面這個(gè)版本:
復(fù)制代碼 代碼如下:

CREATE FUNCTION [dbo].[udf_DaysInMonth]
(
@Date DATETIME
)
RETURNS INT
AS
BEGIN
RETURN CASE WHEN MONTH(@Date) IN (1,3,5,7,8,10,12) THEN 31
WHEN MONTH(@Date) IN (4,6,9,11) THEN 30
ELSE [dbo].[DaysOfFebruary](YEAR(@Date))
END
END
您可能感興趣的文章:
  • php實(shí)現(xiàn)按天數(shù)、星期、月份查詢的搜索框
  • JS獲取月份最后天數(shù)、最大天數(shù)與某日周數(shù)的方法
  • C# 獲取當(dāng)前月份天數(shù)的三種方法總結(jié)
  • JS獲取月的最后一天與JS得到一個(gè)月份最大天數(shù)的實(shí)例代碼
  • php計(jì)算兩個(gè)日期相差天數(shù)的方法
  • javaScript 計(jì)算兩個(gè)日期的天數(shù)相差(示例代碼)
  • IOS獲取指定年月的當(dāng)月天數(shù)

標(biāo)簽:遼源 邢臺(tái) 本溪 宜春 朔州 巴彥淖爾 鹽城 通化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sqlserver中獲取月份的天數(shù)的方法分享》,本文關(guān)鍵詞  sqlserver,中,獲取,月份,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《sqlserver中獲取月份的天數(shù)的方法分享》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于sqlserver中獲取月份的天數(shù)的方法分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章