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
운영게시판
최근게시물
MS-SQL Q&A 1222 게시물 읽기
No. 1222
한글을 일정길이대로 자르려면??
작성자
손철영
작성일
2004-03-03 18:42ⓒ
2004-03-03 18:43ⓜ
조회수
8,315

한글을 일정 길이대로 자르려면 어떻게 해야하는지좀 알려주세요

 

만약 '안A녕2309하세요?' 라고 있으면

 

SUBSTRING('안A녕2309하세요?',1,3) 하면 '안A녕' 이렇게 나오잖아요

 

이걸 '안A'까지만...... 그러니까 한글을 2바이트 처리해서 자를수 있는 방법은 없나요??

 

꼬옥 답변주세요.. DB 사이트만 여러군데 다녀봤는데 아는분이 없네요..ㅠㅠ

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

언어마다 함수가 다 다르지만, 원리는 string문자가 single byte 인지 multi byte 인지 알려주는 함수가 있습니다. 그 함수를 이용해서 자르기할때 응용하심 되겠습니다.

 

델파이의 경우...

 

if ByteType(p_str, p_int) = mbSingleByte then    result := Copy(v_str, 1, p_int)
else if ByteType(p_str, p_int) = mbLeadByte then result := Copy(v_str, 1, p_int - 1)
else                                          result := Copy(v_str, 1, p_int);

설명서:

ByteType indicates whether a byte in a string is a single byte character, the first byte of a double byte character, or the second byte of a double byte character.

 

야메9단님이 2004-03-05 14:56에 작성한 댓글입니다. Edit

MS-SQL 2000 에서 테스트한 결과입니다.

 

SUBSTRING(CONVERT(TEXT, '안A녕2309하세요?'), 1, 3)

 

이렇게 하시면 원하시는 결과 얻으실 수 있습니다.

 

그리고 나머지 부분을 뽑아오는 부분은

Col1 은 컬럼명입니다.

SUBSTRING(Col1, LEN(SUBSTRING(CONVERT(TEXT, Col1), 1, 3)) + 1, Col1의사이즈)

셩이님이 2006-01-09 17:54에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1225하나의 테이블에 여러명의 사용자가 insert할때 특정칼럼에 제한 [1]
최혜정
2004-03-06
3367
1224쿼리문제2??? [2]
예진아빠
2004-03-05
4033
1223쿼리문제???? [1]
예진아빠
2004-03-05
3584
1222한글을 일정길이대로 자르려면?? [2]
손철영
2004-03-03
8315
1221Oracle ==> Mssql 2000변환중...
예진아빠
2004-03-03
3430
1219mysql->mssql로 바꿀려고하는데요.. [1]
이필석
2004-03-03
3434
1218퍼포먼스에대한질문입니다..
이한음
2004-03-03
2921
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다