database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 1029 게시물 읽기
No. 1029
Re: [질문] CONCAT 함수...
작성자
아마도
작성일
2000-06-21 10:38
조회수
15,675

CHAR 타입에 대한 이해를 먼저 하셔야 합니다.

CHAR 타입은 고정길이 타입입니다.

만약 CHAR(20) 칼럼에 'haha'를 넣으면 실제로 DB에는

'haha ' 이 입력됩니다.

20자리가 안되면 뒤에 공백을 20자리까지 채워서 저장합니다.

당연히 두 칼럼을 합치면 40자리 문자열이 됩니다.

만약 밑의 'haha' 와 'hoho' 를 합쳐서 'hahahoho'로 저장을 하려면 뒷공백을

짜르고 합쳐야 합니다.

( 주의 하셔야 할 점은 실제 데이타에 공백을 넣은 경우는 이 공백이

데이타인지 구별할 방법이 없다는 점입니다. )

 

UPDATE table_name

SET ATT1 = rtrim(ATT1) || rtrim(ATT2)

WHERE ATT1='haha';

 

그러면 'hahahoho ' 이란 데이타가

입력되어 있을 겁니다.

 

일반적으로 디스크 공간을 1MB 라도 절약하겠다는 절박한 사정이

없다면 그냥 VARCHAR2 를 사용할 것을 권합니다.

 

 

 

 

> CONCAT 함수를 써서 DB의 attribute 내용을 합치려고 합니다.

>

> 만일

>

> ATT1 CHAR(20)

> ATT2 CHAR(20)

>

> 이고,

>

> ATT1='haha'

> ATT2='hoho'

>

> 라고 합시다.

>

> 여기서 저는 ATT1의 내용을 'hahahoho'로 바꾸려고 합니다.

>

> 그래서

>

> UPDATE table_name SET ATT1 = CONCAT(ATT1, ATT2) WHERE ATT1='haha';

>

> 와 같이 했는데 ORA-01401: inserted value too large for column

>

> 와 같은 에러가 나왔습니다.

>

> ATT1의 길이가 20, ATT2의 길이가 20이라서 CONCAT결과는 40이므로 ATT1에 그 결과를

>

> 넣을 수 없다는 것 같은데요.

>

> 그럼 ATT1과 다른 attribute를 CONCAT 해서 ATT1에 다시 넣을 순 없는건가요?

>

> 'haha'와 'hoho'를 합쳐도 20자는 안 되잖아요. ㅠ_ㅠ

>

> 도와주세요!!

>

> 미리 감사드립니다. 꾸벅~

[Top]
No.
제목
작성자
작성일
조회
1032서로다른 DB 에서 데이타를 교환하는데...
고추장
2000-06-21
14511
1030[질문] Oracle8에서...
송낙흥
2000-06-21
15263
1033┕>Re: [질문] Oracle8에서... 칼럼 drop 또는 칼럼 unused
아마도
2000-06-21 19:01:33
15585
1028ROLLBACK 질문이요!
koyangee
2000-06-21
15219
1031┕>Re: ROLLBACK 질문이요!
소몰이
2000-06-21 15:00:53
15042
1027[질문] CONCAT 함수...
황종모
2000-06-21
14598
1029┕>Re: [질문] CONCAT 함수...
아마도
2000-06-21 10:38:43
15675
1026쿼리문 질문여,,,
Xross
2000-06-21
15112
1035┕>Re: 쿼리문 질문여,,,
정재익
2000-06-22 04:20:09
15382
1023[질문] 텍스트 자료는 long과 clob 어떤 것으로 처리해야하나요?
문태준
2000-06-20
16257
1025┕>Re: [질문] 텍스트 자료는 long과 clob 어떤 것으로 처리해야하나요?
아마도
2000-06-20 19:10:33
17927
1022Oracle 8i에 BOOLEAN형이 없습니까?
전진우
2000-06-20
15914
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다