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

본문 바로가기
 
 
 
오늘 1,021
어제 2,149
최대 2,526
전체 3,626,441

최근 방문자

1859
1202
1263
2029
2149
1021
17 18 19 20 21 22
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

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

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

페이지 정보

작성일2012-01-17 14:04 조회18,160회 댓글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,125건 1 페이지
온라인강의 목록
번호 제목
2125
2124
2123
2122
2121
2120
2119
2118
2117
2116
2115
2114
2113
2112
2111
2110
2109
MySQL Not Acceptable (up.2017-11-02 17:42) Hit.269
2108
2107
2106
2105
2104
2103
2102
2101
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호:119-05-36414 (08394) 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
전화: 070-7600-3500 팩스:02-865-3528 개인정보관리:정창용 mail@happyjung.com 에스크로확인
개인정보취급방침
COPYRIGHT 2001~2017 해피정닷컴. All rights reserved. 통신판매신고:2014-서울구로-0074
 
모바일 버전으로 보기