티스토리 뷰

업데이트 처리 시 날짜를 변경해줘야하는 경우가 종종 생김..

 

근데 년도만 바꾸는게 아니고 날짜를 랜덤하게 입력해달라고 요청이 옴..

 

방법..

 

해당기준일로 랜덤값을 계산해서 더해줌 1월 1일부터 365일까지 더해주는걸로 처리

 

사용자함수에서 RAND() 가 사용이 안됨

 

그래서 뷰를 만들어서 함수에서 호출함

 

CREATE VIEW vw_getRANDValue
AS
SELECT RAND() AS Value

 

ALTER FUNCTION [dbo].[REGDATE_RANDOM] (@DATE VARCHAR(23))
RETURNS DATETIME
AS
BEGIN
 DECLARE @RESULT VARCHAR(23)
  SELECT @RESULT = DATEADD(DAY, ROUND(365 * (SELECT Value FROM vw_getRANDValue), 0, 1), @DATE)  
 return @RESULT
END

 

쿼리작성시

SELECT *,DBO.REGDATE_RANDOM(REGDATE_RANDOM('2010-01-01'+RIGHT(CONVERT(CHAR(23),#컬럼명,121),13))

FROM TB_@@@

 

위 처럼 호출하면 2010년의 데이터중 랜덤한 날짜가 나옴

 

댓글