월의 마지막 일수를 반환하는 함수입니다

by 조쉬 posted Dec 19, 2015
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

특정 년월의 마지막 일수를 구하는 함수를 만들었습니다.


사용법은 다음과 같습니다.


select [dbo].[FNLastDayMon]('2015-02-01')


년월만 제대로 설정해주면 됩니다. 일은 그냥 01일로 고정값으로 설정하시면 됩니다.


소스는 다음과 같습니다.


CREATE FUNCTION [dbo].[FNLastDayMon]

(

@p_date varchar(30)

)

RETURNS int

AS

BEGIN

declare @result  int

declare @v_dt  datetime


set @result = 0


if @p_date is not null and len(@p_date) = 10 begin

  set @v_dt = DATEADD(day, -1,DATEADD(MONTH, 1,DATENAME(YEAR,@p_date) + DATENAME(month,@p_date)+'01'))


  set @result = DATENAME(day,@v_dt)

end


RETURN @result


END