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
운영게시판
최근게시물
PostgreSQL Q&A 9365 게시물 읽기
No. 9365
한글을 substring으로 자를때 사이즈문제..
작성자
이기자(k3i2)
작성일
2013-10-28 11:44
조회수
10,709

전에 질문했던건데요 아직도 해결이 안돼서 재질문 드립니다.

버전은 8.2이고요, ENCODING = 'UTF8' 인데요.
한글데이타를 substring으로 자르면 한글 한글자를 1byte로 인식해서 더 많이 잘라버립니다.

예를들어 substring(rtn_text,170,2) 이렇게하면 한글이 두자가 나옵니다.
substring(rtn_text::bytea,170,2) 이렇게하면 "\354\213" 이렇게 조회가 되고요.

substring( convert(cast(rtn_text as bpchar),'utf8','uhc'),170,2) 이렇게하면,
function convert(character, unknown, unknown) does not exist 에러납니다.

어찌해야할까요. T.T

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

 생각을 바꾸세요. 

DB에서의 글자(char, varchar, text)는 byte 단위가 아니라, 글자입니다.

어떤 글자는 1byte이기도 하고, 어떤 글자는 4byte이기도 합니다. 

substring 함수는 몇 byte 단위로 자르겠다가 아니라, 몇 글자로 자르겠다입니다. 

byte단위 연산이 필요한 경우는 응용프로그램에서 하세요.

여러 방법이 있는데, byte단위 문자열 조작으로 얻는 것보다 잃는 것이 많기 때문에, 

권장하지 않습니다. 

김상기(ioseph)님이 2013-10-29 11:35에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9368postgre 초보사용자입니다. [1]
권순찬
2013-11-04
11211
9367PLPGSQL EXCEPTION 관련 질문드립니다. 도와주세요 [1]
action1020
2013-10-31
10379
9366커넥션 LIFO 와 FIFO 사용 시 메모리 문제 [2]
유영곤
2013-10-30
10333
9365한글을 substring으로 자를때 사이즈문제.. [1]
이기자
2013-10-28
10709
9364psql에서 이미 등록되어있는 프로시져의 수정이 가능한가요? [2]
opnight
2013-10-25
10213
9363각 DataBase를 해당 Login Roles로만 접근가능하게 할려면? [2]
이기자
2013-10-22
10090
9362엠에스윈도에 postgresql에서 csv 파일 올리기? [1]
전상도
2013-10-15
10498
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다