반응형
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의 경우는 날짜 표현형식도 변경할수 있으므로 좀 더 사용상 유연한 것 같다.
반응형
'Web Programing! > Mssql' 카테고리의 다른 글
[MSSQL] UNION과 UNION ALL의 차이 (0) | 2011.08.06 |
---|---|
[MSSQL] 윈도우7에서 MSSQL Server 2008 Express 설치/다운 (Window 7 32bit/64bit) (1) | 2011.08.06 |
mssql에서 문자형으로 지정된 데이터를 날짜형으로 변환하는 방법 (0) | 2011.08.05 |
[MSSQL] dateadd함수 (0) | 2011.08.01 |
[MSSQL] order by case / 임의의 데이터를 원하는 순서대로 정렬하여 뽑기 (0) | 2011.07.07 |
[MSSQL] 다중 필드 값 order by 하기 (0) | 2011.07.07 |
[MSSQL] CONVERT, REPLACE, TO_NUMBER (0) | 2011.07.07 |