2012-08-29 3 views
-8

작은 상거래 소프트웨어로 작업하고 SQL Server로 가져 오는 중입니다. 하지만 숫자가 있습니다 :SQL 숫자 (정수)를 현재 날짜로 변환하는 방법은 무엇입니까?

75739 
76910 
73105 
75821 
75245 
75605 
77169 
73265 
75611 
74073 
77012 

제가 생각하는 날짜를 나타냅니다.

이 숫자를 날짜로 변환하는 방법 YYYY-MM-DDYYYYMMDD? 1900년 1월 1일의 SQL 서버 시대 (기본 제로 날짜)를 기반으로

+12

이러한 날짜는 어떤 날짜로 표시되어야합니까? – gbn

+0

지금은 ... 그냥 파일이 있습니다 – Justin

+4

이 숫자와 날짜 사이에 일종의 매핑이 없으면 파일을 가져온 사람들에게 물어볼 수 없습니다. – Oded

답변

5

,이 날짜는 22 세기

SELECT DATEADD(day, 75739, 0) -- 2107-05-15 00:00:00.000 

에 아니면 더 낮은 날짜의 결합을 기반으로? 이것은 생년월일로 작동하는 1960-ish입니다.

SELECT DATEADD(day, 75739, '17530101') -- 1960-05-15 00:00:00.000 

tl; 자세한 정보가 필요합니다. 그렇지 않으면 시도하지 마십시오

1

일반적으로 날짜가 숫자로 표시되는 경우 지정된 날짜 이후의 날짜를 나타냅니다. 일부 caes에는 20120829와 같은 숫자가있을 수 있습니다. 실제로 YYYYMMDD로 파싱 할 수 있습니다. 그러나이 날짜들은 그 형태로 나타나지 않습니다. 다른 형식은 YYday-of-year와 같을 수 있으므로 100001은 2010 년 1 월 1 일입니다. 그러나 이러한 날짜는 해당 형식으로 나타나지 않습니다.

이 주어진 날짜 이후 일입니다 가정, 다음 SQL 서버에서 사용할 것 :

select dateadd(day, <val>, <basedate>) 

를 엑셀를 들어, 같은가 someting 사용한다 : 그러나

select dateadd(day, <val>, '1899-12-31') 

을, 그 다음 날짜를두고 22 세기.

이 날짜의 형식에 대해 자세히 알아야합니다.

관련 문제