본문 바로가기
Web Programing!/Mssql

[MSSQL] YYYYMMDDHHMISS형태의 날짜 String 을 Datetime으로 바꾸기

by 어설픈봉봉이 2011. 8. 1.
반응형
SMALL



1. mssql 에서 convert를 이용하여 20080420080000(YYYYMMDDHHMISS)의 날짜 스트링을 datetime 형식으로 변환하기

select convert(datetime,'20080420 08:00:00')
=> 20080420 08:00:00 형식은 convert 함수에서 문자를 날짜로 자동으로 변환해 준다.
=> 따라서 20080420080000 => 20080420 08:00:00 형식으로 변경하면 된다.

select substring('20080420080000',1,8) + ' ' + substring('20080420080000',9,2) + ':' + substring('20080420080000',11,2) + ':' +substring('20080420080000',13,2)
=> 20080420 08:00:00

select convert(datetime,substring('20080420080000',1,8) + ' ' + substring('20080420080000',9,2) + ':' + substring('20080420080000',11,2) + ':' +substring('20080420080000',13,2))
=> 따라서 위 쿼리로 20080420080000(YYYYMMDDHHMISS) 날짜 스트링을 datetime 으로 변경할 수 있다.

2. mssql 에서 cast이용해서 '20080420(YYYYMMDD)'와 '080000(HHMISS)의 날짜 스트링을 datetime 형식으로 변환하기
CAST(LEFT('20080420',4) + '-' + SUBSTRING('20080420',5,2) + '-' + RIGHT('20080420',2) + ' ' + LEFT('080000',2) + ':' + SUBSTRING('080000',3,2) + ':' + RIGHT('080000',2) AS DATETIME)

--------------------------------------------------------------------------------------------
위와같이 convert나 cast 모두다 사용이 가능하다.
convert의 경우는 날짜 표현형식도 변경할수 있으므로 좀 더 사용상 유연한 것 같다.


반응형