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 40317 게시물 읽기
No. 40317
주소컬럼에서 숫자,알파벳을 2byte로 변환 문제
작성자
룡(베리어김)
작성일
2013-11-25 20:09ⓒ
2013-11-26 01:11ⓜ
조회수
6,853

 

 

수고많으십니다.

 

주소 컬럼에서 to_multi_byte 를 써서 영문과 숫자를 2byte로 변환을 했는데요.

 

문제는 특수기호도 변환이 되버려서 특수기호를 제외한 영문,숫자만 변환할수 있을까요...

 

WITH tab AS

(

 SELECT '자양동'  addr, lengthb('자양동') lenb FROM dual UNION ALL

 SELECT '자양동123'  addr, lengthb('자양동123') lenb FROM dual UNION ALL

 SELECT '자양동(123)'  addr, lengthb('자양동(123)') lenb FROM dual UNION ALL

 SELECT '자양동 (1AB)'  addr, lengthb('자양동 (1AB)') lenb FROM dual

 ) 

 SELECT addr , lenb

from tab

 

 

결과 

     ADDR                                       LENB

     -------------------------------------------------

1    자양동                                       6                6

2    자양동123                                9                12

3    자양동(123)                             11              14

4    자양동 (1AB)                             12              15

 

빨간색으로 칠한 바이트수가 되어야 합니다. 

 

 

 

 

 

 

이 글에 대한 댓글이 총 4건 있습니다.

LENGTHB(REGEXP_REPLACE(addr, '[a-zA-Z0-9]', '^^')) lenb

마농(manon94)님이 2013-11-26 10:33에 작성한 댓글입니다.

 마농님 감사합니다. 

영문,숫자를  특정문자로 변환시켜 byte수를 맞추는것은 덕분에 해결했습니다.

제가 질문을 애매하게 했습니다. 죄송합니다.

문제는 2byte로 변환하되 데이터도 출력을 해야합니다.

저는 

SELECT  addr , TO_MULTI_BYTE(addr) FROM tab

이런식으로 해결하려고 했지만  이런식으로 하면 '(' 가로 같은 특수문자도 2byte로 변환이 되어버려서 고민입니다.

룡(베리어김)님이 2013-11-27 09:24에 작성한 댓글입니다.
이 댓글은 2013-11-27 09:28에 마지막으로 수정되었습니다.

WITH tab AS
(
SELECT '자양동' addr FROM dual
UNION ALL SELECT '자양동123' FROM dual
UNION ALL SELECT '자양동(123)' FROM dual
UNION ALL SELECT '자양동 (1AB)' FROM dual
)
SELECT addr
     , TRANSLATE(addr, x, TO_MULTI_BYTE(x)) addr2
  FROM tab
     , (SELECT 'abcdefghijklmnopqrstuvwxyz'
            || 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
            || '1234567890' x
          FROM dual
        )
;

마농(manon94)님이 2013-11-27 09:56에 작성한 댓글입니다.

 아...이렇게 ~!!!!

마농님 고맙습니다. 이런 발상을 못하는 제 뒤통수를 탁 치고 갑니다.

룡(베리어김)님이 2013-11-27 11:03에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40320테이블 삭제한 사용자 찾을수 있나요?
권민성
2013-11-28
5630
40319RMAN ORA-00600, 27041 에러 문의
하정민
2013-11-26
5796
40318데이타 insert 대용량 처리 [1]
강남
2013-11-26
6253
40317주소컬럼에서 숫자,알파벳을 2byte로 변환 문제 [4]
2013-11-25
6853
40316문자열 값 체크 관련 펑션 문의드립니다. [2]
김홍찬
2013-11-25
5678
40314조회문 질문.. [3]
워즈
2013-11-19
6782
40313고수님들의 조언 부탁드립니다. [2]
일쌍다반사
2013-11-13
5828
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다