본문 바로가기

ASP,MSSQL Tip

[MSSQL] TEXT 타입 데이터 변경하기

MSSQL 에서 text type은 replace 를 통해 바로 사용 할 수 없다.

이 문제를 해결하기 위해 text type을 varchar type으로 변경(CAST)한 후에 사용이 가능하다

 

변경전 주의 사항

MSSQL2000에서는 varchar(max)를 사용 할 수 없고 varchar(8000)으로 이용한다.

CAST 함수를 통해 text type에서 varchar type으로 변경한다.

text type의 데이터 길이가 8000이상인 데이터는 잘려 나가게 되니 반드시 확인 후에 적용해야한다.

데이터의 길이를 알아내기 위해 len(필드명) 함수를 이용하지만 text type에서는 적용이 되지 않는다.

작업 전에 백업 데이터를 반드시 만들어 두는 습관을 가집시다.

 

text type 필드가 8000자 이상인지 len() 함수를 통해 확인

-select lec(cast(필드명 as varchar(8000)) as datafiled from 테이블명 order by data desc

 

 

 

데이터 병경을 위해update 문에서 replace 함수를 이용한다.

update 테이블 명 set 필드명 = replace(cast(필드명 as varchar(8000)),'변경하고자 하는 내용','변경 될 내용')