2011-12-16 9 views
2

SQL Server에서 1314637182953과 같은 13 숫자를 datetime으로 어떻게 변환합니까? 변환 및 변환 모두 직접 산술 오버플로 오류가 발생합니다!SQL Server - 13 자리 숫자를 datetime으로 변환

아래의 쿼리

같은 결과 :

select Convert(datetime, cast(START_DATE as varchar(8)), 112), * 
from table 
+1

숫자는 무엇을 상징 하는가 :
그것은 다음과 같이 1000 분할하기 전에 BIGINT 데이터 유형으로 문제의 필드를 캐스팅함으로써 쉽게 해결 될 수 있는가? – dasblinkenlight

+0

이 열 정의는 길이가 9이고 정밀도가 19 인 숫자이지만 이름 (START_DATE)에서 알 수 있듯이 날짜가 들어 있습니다. 이 열의 모든 값은 13 자리 숫자이며 실제 날짜를 가져와야합니다. – legendofawesomeness

+0

주어진 예가 번역되어야하는 날짜를 알고 있습니까? –

답변

5

이 밀리 초 단위 UNIX time의 가정이 시도 : 수를

DATEADD(SECOND, START_DATE/1000 ,'1970/1/1') 

를 귀하의 게시물, SQL 2008을 반환에서 2011-08-29 16:59:42.000

+0

굉장! 이것은 그것을했다. 감사. – legendofawesomeness

1

우리는 위의 코드로 오버 플로우 오류가 발생할 수있는 시대 (1970 년 1 월 1 일)를 훨씬 지나쳤습니다.

DATEADD(SECOND, CAST(START_DATE as BIGINT)/1000 ,'1970/1/1') 
관련 문제