달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
DB에서 정보를 검색해야 되는데 이상하게 검색이 안된다..
DB가 char(n) 타입이라 데이터 뒤에 공백이 붙는다.

예를들어 'aaaa' 라는 데이터를 넣으면 'aaaa           ' 라는 형식으로 입력이 된다.(char 니까 당연...)
하지만 검색할때는 'aaaa', 'aaaa ', 'aaaa     '... 다 되는게 정상이다...
그런데 이상하게 검색이 안되는 넘이 있었다...

문제의 발단은 txt 파일에서 정보를 읽어서 자동으로 인서트 시키는 기능이 있었는데 이 txt 파일에 aaaa 뒤에 탭 문자가 들어가 있었다.
실제로 메모장으로 열어서 커서를 이동해 보면 탭 문자 간격만큼 이동한다..

이거 때문에 삽질 하다가 수정한 결과를 적어 본다.

우선 MSSQL 에서 Tab 문자는  CHAR(9) 다.
줄바꿈 문자는 CHAR(10) 혹은 CHAR(10)+CHAR(13) ...

UPDATE [TABLE] SET value = REPLACE(value, CHAR(9), '')   하면 해결..
여기서CHAR(9) 는 문자열이 아니므로 'CHAR(9)' 로 적으면 안댄다.

어쨋든 이렇게 한건 해결...
Posted by SadDev
|