DATETIME 값을 5분 단위로 잘라서 문자열로 반환하는 함수#2
DB&XML 2009. 2. 19. 16:57 |
USE [GPMS]
GO
/****** 개체: UserDefinedFunction [dbo].[GETSTIMEPER5MINTODATETIME] 스크립트 날짜: 02/19/2009 16:55:38 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
/*
GETDATETIMEPERMIN : 2006-09-19 BY J.Y. PARK,
DESC: 입력받은 DATETIME의 초,밀리세컨드를 0으로 수정하고 5분단위 시간으로 반환
*/
CREATE FUNCTION [dbo].[GETSTIMEPER5MINTODATETIME]
( @IDATETYPE DATETIME)
RETURNS VARCHAR(20)
AS
BEGIN
DECLARE @SNEWTIME VARCHAR(20)
DECLARE @SMIN VARCHAR(5)
SET @SNEWTIME = DATENAME(YY,@IDATETYPE)
SET @SNEWTIME = @SNEWTIME + '-' + DATENAME(MM,@IDATETYPE)
IF DATEPART(DD,@IDATETYPE) < 10
SET @SNEWTIME = @SNEWTIME + '0'
SET @SNEWTIME = @SNEWTIME + '-' + DATENAME(DD,@IDATETYPE) + ' '
IF DATEPART(HH,@IDATETYPE) < 10
SET @SNEWTIME = @SNEWTIME + '0'
SET @SNEWTIME = @SNEWTIME + DATENAME(HH,@IDATETYPE)
IF DATEPART(MI,@IDATETYPE) < 10
SET @SMIN = '0' + DATENAME(MI,@IDATETYPE)
ELSE
SET @SMIN = DATENAME(MI,@IDATETYPE)
IF (DATEPART(MI,@IDATETYPE) % 10) >= 5
SET @SNEWTIME = @SNEWTIME + ':' + LEFT(@SMIN,1) + '5'
ELSE
SET @SNEWTIME = @SNEWTIME + ':' + LEFT(@SMIN,1) + '0'
RETURN @SNEWTIME
END
-- 결과
GETSTIMEPER5MIN 와 비슷하지만 이건 이 문자열을 DateTime로 변환이 가능한
문자열 형태로 반환한다.