안규 공부방

MS-SQL > mysql에서 mssql의 날짜변환

등록일 : 2017-07-03 19:44 조회수 : 92,773

MySQL에서 사용하는 Unix Time 자료형은 1970년 1월 1일부터의 시간을 초단위로 표현한 형태입니다.

MS SQL과 ASP에서는 이런 형태의 자료형을 직접 지원하지 않으므로, 이 값을 사용하시려면 MS SQL의 DATEADD 함수를 사용하셔야 합니다.

예를 들어 1137492969 의 경우는 다음과 같습니다.
DATEADD(s, 1137492969, '1970-01-01')

여기서 중간의 빨간색 부분에 MySQL에 있는 Unix Time 값을 넣어주시면 됩니다.

하지만 이 데이터를 출력해보면 실제 시간보다 9시간이 늦게 보이는데, 이것은 Unix Time 자료형이 세계 표준시를 기준으로 기록되기 때문입니다.
이 값을 한국 시간으로 보이게 변경하시려면 9시간을 더해줘야 합니다.

DATEADD( hh, 9, DATEADD(s, 1137492969, '1970-01-01') )

혹시 MySQL에서 Unix Time 값을 저장한 서버의 설정으로 이미 9시간이 더해진 값으로 들어가 있다면 일부러 더하실 필요 없이 위쪽 코드만으로 해결하시면 됩니다.

위 코드는 MS SQL 쿼리문 내에서 사용해야 합니다.
 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.