반응형
ShakeJ
MNWorld
ShakeJ
전체 방문자
오늘
어제
  • 카테고리 N
    • Contact
    • 🤔그냥이야기
    • 📷사진이야기
    • 제주도에서 한달을 살아보았다
    • 옛글 N
      • 👇Blog
      • 공지사항
      • 이슈 N
      • 생각들
      • 👇취미
      • 건프라
      • 👇Review
      • 노래리뷰
      • 영화리뷰
      • 👇Travel Story
      • 2011 도쿄여행기
      • 2013 Google IO
      • 2013 Jeju
      • 2014 HONGKONG
      • 2014 Jeju
      • 2014 Sanfransis..
      • 2015 Lombok
      • 2016 HONGKONG
      • 2017 Saigon
      • 국내여행기
      • Photo Story
      • Growth
      • 👇Server
      • Ruby on the Rai..
      • Frontend
      • FullStack (MEAN..
      • Ubuntu
      • 👇Android
      • 안드로이드 프로그래밍
      • 번역본
      • 내어플이야기
      • 코드창고
      • 👇iOS
      • 아이폰 프로그래밍
      • 맥북 이야기
      • 👇Microsoft
      • ASP.NET
      • Silverlight
      • 윈도우 이야기
      • 👇IT Story
      • 모바일 이야기
      • 하드웨어 이야기 N
      • 네트워크 이야기
      • 프로그래밍이야기
      • Database이야기
      • 클라우드이야기
      • 프론트 이야기
      • 마케팅이야기
      • 그래픽 작업
      • 블로그 팁

블로그 메뉴

  • GuestBook

공지사항

인기 글

태그

  • 블로그 처음
  • 안드로이드 어플 추천
  • MNWorld
  • 블로그 운영하면서
  • 티스토리 초대장
  • 블로그 시작하기
  • 무료배너제작
  • 초대장
  • asp.net
  • 블로그 팁
  • 티스토리 팁
  • 랩
  • 배너교환
  • 블로그 이야기
  • 블로그 운영
  • shakej
  • 블로그 관련
  • 블로그 만들기
  • 배너제작
  • 배너무료제작
  • 서울 출사지
  • iOS 프로그래밍
  • 블로그 운영하기
  • 블로그 잡담
  • 블로그 초보
  • 티스토리
  • 풍경사진
  • 블로그 꾸미기
  • D40 사진
  • 윈도우폰7

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ShakeJ

MNWorld

제로보드xe Mysql DB 날짜 형식 varchar로 변환 작업
옛글/Database이야기

제로보드xe Mysql DB 날짜 형식 varchar로 변환 작업

2010. 11. 17. 02:21
반응형
 


MSsql 에서 Mysql 로 홈페이지 이전과 함께 데이터베이스 이전에 대한 포스팅을 썼었는데, 그때 말씀드렸던 문제점 중 날짜 형식이 달라 게시글의 날짜들이 제대로 인식되지 않는다는 문제점을 해결하는 과정을 포스팅하려고 합니다.



왼쪽 그림과 같이 날짜를 제대로 인식 하지 못해서 문서 DB를 뒤져보니...




위와 같이 예전 mssql 에서 받아온 데이터들은 20101109005425 와 같이 2010년 11월 09 12시 54분 25초를 위와 같은 형태를 가지고 있었고, 제로보드 xe에서 받아들이는 날짜는 2010-11-01로 받아들이고 있었습니다. 오류가 난 원인이 바로 이거였기에,

해결 방안으로써 2가지 방안이 생각이 났습니다.




1. php 처리문에서 아예 날짜 형식 mssql 형식처럼 받아들이게끔 수정을 해서 앞으로 기록 되는 데이터들도 20101109005425와 같이 저장이 되도록 만들어 형식을 바꾸지 않는다.

- 이 방안은 PHP를 다 뜯어고쳐야 한다는 단점이 있습니다. mysql 은 테이블에서 컬럼 속성을 위와 같은 속성으로 바꿔주기만 해도 되겠지만, 제로보드 xe를 써보지 않은 저에겐 또 일일이 문서를 찾아보고 만약 오류가 난다면 db만을 백업하고 덮어씌우는 것으로 끝나지 않고 제로보드 자체를 새로 깔아야 한다는 위험부담이 있기에 다른 방법으로 넘어갑니다.

2. 위의 20101109005425 를 2010-11-09 라는 데이터 형식을 변환한다. (쿼리로)
 

- 이방법이 위 방법보다는 시간이나 고생 면에서 효율적이라 생각해서 2번 방법으로 해결 방법을 찾아가리라 결정합니다.


그렇다면 이제 문제 해결만 남았군요.
쿼리에 대해 무한 검색을 통해,

날짜 데이터 타입에는 DateTime 과 Time, 타임스탬프형식 이 있다는 것을 알아냈습니다.

...

저 위에 쩜 찍혀있는 시간이 4시간이네요^^;

4시간만에 삽질 끝에 찾아낸 알맞는 쿼리이네요...ㅜㅜ
convert 등으 써지질 않아서,
다시 한번 정리하자면 예전 타입은 datetime 이고 이제 제가 원하는 제로보드의 날짜타입은 varchar 타입입니다.

굳이 convert 를 쓰거나 cast를 쓰지 않고 원초적으로 update문으로 쓸껄 괜한 짓을 하다가 시간만 무지 잡아먹었네요....

UPDATE xe_documents SET regdate = DATE_FORMAT(regdate, '%Y%m%d%h%m%s')

고작 이 간단한 쿼리로 모든 걸 해결했네요.

정상적으로 2010-11-22 라면 - 은 빠진 상태로 20101122라고 업데이트가 되었구요

주의 1. 참고로 컬럼타임이 varchar 인경우에만 가능하니 주의하세요...ㅜㅜ
주의 2. 옮기는 과정에서 varchar 30으로 해놨더니 2010-11-22 11:22:33.0000.0000

반응형
저작자표시 비영리

'옛글 > Database이야기' 카테고리의 다른 글

식은땀난 NO.2003 can't connet 'mysql' (10061) 확실한 에러해결법  (6) 2011.02.23
[SQL이야기] 데이터베이스의 개념과 관계모델  (0) 2011.01.06
DATABASE 도서"운명적 존재를 위한 데이터 베이스 설계" 추천  (0) 2010.10.28
데이터 베이스에 대한 이야기 - 네번째 시간  (0) 2010.10.28
데이터베이스에 대한 이야기 - 세번째 시간  (0) 2010.10.28
    추천글👇
    • [📷사진이야기] 붉은 호치민의 노을
    ShakeJ
    ShakeJ

    티스토리툴바