CREATE function [dbo].[DATETIME_TO_JULIAN](@date as datetime) returns int as begin -- DataTime 값을 줄리안데이트 형식으로 변환 declare @return as int, @tempdate as char(8), @basedate as datetime, @tempyyyy as int, @interval as int set @tempdate = convert(char(8), @date, 112) set @tempyyyy = year(@date) -- cast(left(@tempdate, 4) as int) set @basedate = convert(datetime, left(@tempdate, 4) + '0101', 112) set @interval = datediff(d, @basedate, @date) + 1 set @return = (@tempyyyy - 1900) * 1000 + @interval return @return end
SELECT DBO.DATETIME_TO_JULIAN('20120101')
CREATE FUNCTION [dbo].[JULIAN_TO_DATETIME](@date as int) RETURNS DATETIME AS BEGIN -- 줄리안데이트를 DateTime으로 변환 declare @return as datetime, -- Return Value @tempyyyy as int, -- Year @interval as int -- Year, Month, Day 계산 set @tempyyyy = 1900 + convert(int, @date / 1000) set @interval = convert(int, right(convert(varchar(6), @date), 3)) - 1 set @return = dateadd(d,@interval,convert(datetime,convert(char(4),@tempyyyy)+'0101',112)) return @return END
SELECT DBO.JULIAN_TO_DATETIME(112001)
'프로그래밍 > DBMS' 카테고리의 다른 글
64bit MSSQL 2008 R2 에서 32bit Oracle DB 링크 걸기 (1) | 2013.08.29 |
---|---|
MSSQL 문자열 잘라서 테이블 반환 함수 (0) | 2013.04.24 |
오라클 DECODE, GREATEST 로 음수값 처리하기 (0) | 2013.04.10 |
MSSQL 0으로 나누기 오류 처리하기 (0) | 2013.04.09 |
MSSQL, 줄리안 데이트로 바꾸기 (0) | 2012.01.02 |
오라클 스케줄러 로그 확인 쿼리 (0) | 2011.07.05 |
오라클 스케줄러, Toad 사용하기 (0) | 2011.06.22 |
ORA-00942: 테이블 또는 뷰가 존재하지 않습니다 (2) | 2011.06.14 |