--MIN DayTime
CREATE Function MinDay
(@seDate SMALLDATETIME)
RETURNS SMALLDATETIME
AS
BEGIN
DECLARE
@reDate SMALLDATETIME,
@crDate SMALLDATETIME
SET @crDate = LEFT(@seDate, 10)
SELECT @reDate = DateADD(month, 0, @crDate)
RETURN ( @reDate )
END
--MAX DayTime
CREATE function MaxDay
(@seDate SMALLDATETIME)
RETURNS SMALLDATETIME
AS
BEGIN
DECLARE
@reDate SMALLDATETIME,
@crDate SMALLDATETIME
SET @crDate = LEFT(@seDate, 10)
SELECT @reDate = DateADD(minute, -1, DateADD(day, 1, DateADD(month, 0, @crDate)))
RETURN ( @reDate )
-- 한마디
ms로 초단위로 끊을려고 하였건만, 초단위로는 Return Value 가 안되는거 같당.. ㅠ_ㅠ
쩝.. 어쩔 수 없이 분단위로 끊어버렸다...;; 그리하여 23:59분이 최고 MAXDAY가 되어버렸다
MinDay 는 잘나온당 -_-;; 어차피 00:00:00 이니깐..
---- 사용 예
select dbo.MaxDay('2003-05-05')
select dbo.MaxDay('2003-05-05 21:39:28')
결과 리턴
2003-05-05 23:59:00
select dbo.MinDay('2003-05-05')
select dbo.MinDay('2003-05-05 21:39:28')
결과 리턴
2003-05-05 00:00:00
-- 캬오!! 함수까지 만들어야 했다니 ㅠ_ㅠ;;; 요런 함수가 없었었다 -_-;;
[출처] 해당날의 MAX AND MIN DayTime 구하기|작성자 진카자마