티스토리 뷰
업데이트 처리 시 날짜를 변경해줘야하는 경우가 종종 생김..
근데 년도만 바꾸는게 아니고 날짜를 랜덤하게 입력해달라고 요청이 옴..
방법..
해당기준일로 랜덤값을 계산해서 더해줌 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년의 데이터중 랜덤한 날짜가 나옴
'serverSide > MSSQL' 카테고리의 다른 글
[MSSQL] 30분 단위 타임테이블 (0) | 2019.10.16 |
---|---|
[MSSQL] 년 월 주차 뽑기 (0) | 2018.12.31 |
[MSSQL] 그룹별 TOP 1 랜덤 뽑기 (0) | 2018.07.21 |
[MSSQL2005] 미러링 연결끊김 (0) | 2018.07.21 |
[MSSQL] SELECT XML PATH 행데이터로 변경 (0) | 2018.07.21 |
댓글