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 39440 게시물 읽기
No. 39440
[질문] 문자열 길이 구하기
작성자
솜사탕(pc80286)
작성일
2012-05-08 01:39
조회수
4,186

안녕하세요

이 사이트에서 여러모로 도움을 많이 받고 있는 초보 유저 입니다.

다름 아니라 한글이 섞여 있는 데이터에 대하여 문자열 길이를 구하려고 하는데 잘 안되는군여

SELECT length('a가나') val FROM DUAL 는 3 , SELECT lengthb('a가나') val FROM DUAL 는 7 이 나오는데

일반적으로 윈도우에서 한글은 2byte , 영문 숫자는 1byte 로 처리가 되는데 이에 맞게 length 를 구할려고하니 답이 안나오네요 ㅠㅠ

여기저기 검색해서 찾아봐도 별 성과가 없어 이렇게 글을 적게 되었습니다.

어떻게 해야 할까요?

고수님들의 답변 부탁드립니다.

아침저녁으로 일교차가 큰데 감기조심하시고 건강 잘 챙기시기 바랍니다.

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

SELECT v
     , (LENGTHB(v) - LENGTH(v)) / 2 + LENGTH(v) len
  FROM (SELECT 'a가나' v FROM dual)
;

마농(manon94)님이 2012-05-08 09:05에 작성한 댓글입니다.

lengthb가 왜 7이 나오나요? 버전에 따라 다른건가...

5가 나오는게 맞죠

???님이 2012-05-08 13:28에 작성한 댓글입니다. Edit

DB CHARACTERSET 에 따라 한글이 3byte 인 경우가 존재 한다고 알고 있습니다.

빈이님이 2012-05-09 11:09에 작성한 댓글입니다. Edit

네 빈이님 말씀이 맞습니다. 유니코드를 사용하기 위해서 한글을 3byte 잡아서 사용하고 있다고

알고 있습니다 ^^ 좋은 답변 감사합니다.

솜사탕(pc80286)님이 2012-05-15 10:35에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39443정렬을 하고 싶은데요 [1]
어떻게하지
2012-05-09
3547
39442특정시점부터 변경된 테이블들의 리스트를 알수 있을까요?
하이요
2012-05-09
3344
39441데이터 매칭 시키는 방법좀....알려주세요 [2]
김만석
2012-05-08
3807
39440[질문] 문자열 길이 구하기 [4]
솜사탕
2012-05-08
4186
39439ORA-04030 에러 처리 어떻게 하나요?
유용태
2012-05-07
5719
39438쿼리 문의 드립니다. [2]
도시유목민
2012-05-07
4532
39437ORA-00600 [6749] 오류 [1]
니리
2012-05-07
4302
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다