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)),'변경하고자 하는 내용','변경될 내용')
댓글 없음:
댓글 쓰기