안녕하세요.
MS-SQL에서 어떤 컬럼들의 일정한 값을 치환 하는 방법을 알고 싶습니다.
예를 들어 "X1333KG"라는 데이터가 있을때
"X1"을 "6666"으로 바꾸고 끝에 "KG"를 "22"라고 바꾸려고 하는데
어떻게 해야 할지 모르겠네요.
SELECT로 단순히 결과만 보이는 것이 아니고 실제로 DB에 값들이 모두 바뀌는
경우 입니다.
혹시 아신다면 꼭 답변 부탁드릴게요.
그럼 즐거운 나날들 되세요.. ^^
- 왕왕초보 -
replace라는 문자함수를 이용하여 Update를 하시면 됩니다..
동시에 두가지를 치환 작업을 안 되니까, 두번에 걸쳐서 Update
작업을 해야 합니다.('X1'과 'KG'가 문자열의 처음과 끝에 있어야 하는 것은 아니죠?)
ex)
BEGIN TRAN
UPDATE t_replace SET contents = replace(contents , 'X1','6666') WHERE contents like '%X1%'
IF @@ERROR <> 0 BEGIN ROLLBACK TRAN GOTO END_POINT; END
UPDATE t_replace SET contents = replace(contents , KG,22) WHERE contents like '%KG%'
COMMIT TRAN ;
END_POINT:
GO
답변 감사합니다.
그러나 지금 사용하고 있는 ms-sql의 버전의 예전 버전으로 6.0입니다.
실제로
UPDATE swpa100b_tblSET ImItemId = REPLACE(ImItemId , 'X1','6065')WHERE ImItemId like 'X1%'
를 실행시켰을때
Msg 195, Level 15, State 10'REPLACE' is not a recognized built-in function name.
라는 메세지만 나오는 군요...
방법이 없을까요..
-.-;