update - replace : 기존의 데이터 변경하기 > 온라인강의

본문 바로가기
 
 
 
오늘 1,191
어제 1,674
최대 2,526
전체 3,400,758

최근 방문자

1706
1573
932
869
1674
1191
22 23 24 25 26 27
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

select * from g5_menu where me_use = '1' and me_link like '%lecture%'
온라인강좌 홈 > 온라인강좌 > 온라인강좌

MSSQL | update - replace : 기존의 데이터 변경하기 (update. 2017-03-28)

페이지 정보

작성일2012-01-17 14:04 조회16,440회 댓글0건

본문

특정 컬럼의 문자들을 부분적으로 변경하고 싶을때 자바, 오라클, mssql 도 replace함수를 사용합니다.

사용법
문법 :  replace( '대상문자열', '기존데이터', '바꿀데이터')
확인 :  select replace([칼럼명], '기존데이터', '바꿀데이터'), * from [테이블명]
적용 :  update [테이블명] set [컬럼명] = replace([컬럼명],'기존데이터','바꿀데이터')


1. 일반컬럼 : varchar, char, nvarchar, char
subject 라는 칼럼 내용중에 '변경전' 를 '변경후' 로 변경
변경될 자료 미리 확인
select replace(subject, '변경전', '변경후'), * from 테이블 where idx = '68'

위에서 변경될 자료를 미리 본후 이상없으면 아래 쿼리 실행
update 테이블 set subject= replace(subject, '변경전', '변경후') where idx = '68'


2. 날짜컬럼 : datetime
regDate 라는 datetime 컬럼에 '2012-01-17 12:22:35:66' 의 자료에서
2012-01-17 만 2008-03-21 로 변경하고자 할때

select replace(regDate, '2012-01-17', '2008-03-21'), * from 테이블 where idx = '68'

update tblBoard set regDate = replace(regDate, '2012-01-17', '2008-03-21') where idx = '68'
요렇게 하면 변경이 안됩니다.
날짜 형식은 저장되는 순서가 다르기 때문에 아래와 같이 convert 함수를 함께 사용해야 합니다.

update 테이블 set regDate = replace(convert(char(10), regDate, 112), '20120117', '20080321') where idx = '68'
update 테이블 set regDate = replace(convert(char(10), regDate, 20), '2012-01-17 13:50:45', '2008-03-21 13:50:45') where idx = '68'
update 테이블 set regDate = replace(convert(char(10), regDate, 20), '2012-11-05', '2012-07-09') where idx ='4' and idx = '17'

결과값이 아래와 같이 보여도 정상변경된것입니다.
(186 row(s) affected)


3. 텍스트컬럼 : text, ntext
update 테이블 set subject = replace(bd_content,'변경전','변경후') where idx='4'
요렇게 하면 에러가 뜹니다.
replace 함수의 인수 1에 대한 인수 데이터 형식 text이(가) 잘못되었습니다.

text 칼럼을 varchar(max) 로 임시 변경후 replace가 처리되어야 합니다.
update 테이블 set subject = replace(convert(varchar(max), subject),'변경전','변경후')  where idx='4'


관련자료
http://ellieya.tistory.com/66
http://blog.naver.com/westlee25/150078828020
http://egloos.zum.com/littletrue/v/4144042 
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.


목록

Total 2,007건 1 페이지
온라인강의 목록
번호 제목
2007
2006
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
1984
1983
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호:119-05-36414 (08394) 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
전화: 070-7600-3500 팩스:02-865-3528 개인정보관리:정창용 mail@happyjung.com 에스크로확인
개인정보취급방침
COPYRIGHT 2001~2017 해피정닷컴. All rights reserved. 부가통신사업신고:서울체신청-1217 통신판매신고:2014-서울구로-0074
 
모바일 버전으로 보기