TSQL Get the last day of the month – TSQL 取得這個月最後的一天

在之前的一個網誌上 和大家介紹了自己寫了一個簡單的功能

TSQL Get the first day of the month – TSQL 取得這個月的第一天

今天想和大家介紹另一部分
就是TSQL 取得這個月最後的一天

GenerateLastDayOfMonth

-- =============================================
-- Author:
-- Create date:
-- Description: -- =============================================
CREATE FUNCTION [dbo].[GenerateLastDayOfMonth]
(
-- Add the parameters for the function here
@TempDate DATETIME =null,
@MonthInAdvance INT = 0
)
RETURNS DATETIME
AS
BEGIN
RETURN DateAdd(day, -1, DateAdd(month, MONTH(@TempDate)-1+@MonthInAdvance, DateAdd(Year, YEAR(@TempDate)-1900, 0)))
END

使用方法十分簡單


SELECT dbo.[GenerateLastDayOfMonth](GETDATE(),0);

輸出結果:
2012-08-31 00:00:00.000

SELECT dbo.[GenerateLastDayOfMonth](GETDATE(),2);

輸出結果:
2012-10-31 00:00:00.000

如果你有更好的方法歡迎和大家分享

Hope you find it useful

5 thoughts on “TSQL Get the last day of the month – TSQL 取得這個月最後的一天

  1. Pingback: TSQL Get the first day of the month – TSQL 取得這個月的第一天 | Share ChiWai/Share 智慧/智慧分享 – 技術分享/Tech Blog

  2. Pingback: .Net Get Last Day of Month – 如何在.Net上找出某一個月最後的一天是什麼 | Share ChiWai/Share 智慧/智慧分享 – 技術分享/Tech Blog

Leave a Reply