2011년 5월 5일 목요일

MSSQL TEXT타입 데이터 변경 하기

MSSQL에서 text type의 필드는 Replace를 통해 바로 사용 할 수 가 없다.
이 문제를 해결 하기 위해 Text  Type 을 varchar type으로 CAST한 후에 변경이 가능하다.
변경 전 몇가지 주의 사항
   - MSSQL 2000에서는 varchar(max)를 사용 할 수 없다. varchar(max)대신 varchar(8000)으로 이용
   - CAST 함수를 통해 text type에서 varchar type으로 변경
   - text type의 데이터가 8000이상의 데이터는 잘려 나가니 반드시 확인 후에 적용 하시기 바랍니다.
   - 데이터 길이를 알기 위해서 len 함수를 이용하지만 text type에서는 적용이 되지 않는다.
   - 변경전에 반드시 데이터를 저장하자!

1. text type 필드가 8000자 이상인자 len()함수를 통해 확인 하자.
  - select len(cast(content as varchar(8000))) as data from 테이블명 order by data desc

2. 데이터 변경을 위해 update문에서 replace함수를 이용하자.
  - update 테이블명 set content=replace(cast(변경할 필드명 as varchar(8000)),'변경하고자 하는 내용','변경될 내용')

댓글 없음:

댓글 쓰기