SQL

[MS SQL] 특정 문자를 RIGHT로 찾아서 REPLACE 로 UPDATE 하기 (RIGHT, LEFT, SUBSTRING)

shoney9254 2021. 8. 9. 12:11
반응형

특정 문자를 RIGHT로 찾아서 REPLACE 로 UPDATE 하기

급한 사람을 위해 결론부터 설명하겠습니다.

1. 결론

MS SQL

UPDATE ezControl_ELM
SET SERVICECONFIG = REPLACE(SERVICECONFIG,RIGHT(SERVICECONFIG,4),ELMID)
WHERE  (ELMTYPENO = 2) AND (ELMNAME LIKE 'inline%')

 

2. 상황 

SERVICECONFIG 의 값이 아래와 같다. (통 문자열로 관리하고있다.)

"TYPE=Host,BINDING=Tcp,NAME=SVC,ADDRESS=10.14.33.221,PORT=21801"

문자열 중에 가장 오른쪽 4개가 ELMID로 변경을 해야하는 상황이 발생했다.

 

1) RIGHT( 추출할 컬럼 명, 오른쪽에서 추출한  문자 수)

오른쪽 4개의 문자열을 꺼내오는 방법은 아래와 같다. 

Right

RIGHT(SERVICECONFIG,4)

 

2) REPLACE( 바꿀 컬럼 명, 바꿔야하는 기존 문자, 바꿀 신규 문자) 

RIGHT로 추출한 4개의 문자를 ELMID로 변경하는 방법은 아래와 같다. 

Replace 

REPLACE(SERVICECONFIG,RIGHT(SERVICECONFIG,4),ELMID)

 

3) UPDATE문 

Update ~ Set ~

UPDATE (변경할테이블) SET (변경할값을 넣는 부분) 

이렇게 사용한다.

 

3. 추가 (RIGHT, LEFT, SUBSTRING)

RIGHT 대신에 문자열 잘라내는 다른 명령어를 알아보자

 

1) RIGHT

RIGHT

RIGHT(문자열, 자를문자수)

RIGHT(SERVICECONFIG,4)

 

2) LEFT

LEFT

LEFT((문자열, 자를문자수)

LEFT(SERVICECONFIG,4)

 

3) SUBSTRING

SUBSTRING

SUBSTRING(문자열, 시작문자인덱스, 자를문자수)

SUBSTRING(SERVICECONFIG, 14, 4)

 

반응형