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 3442 게시물 읽기
No. 3442
전각을 반각으로 변환하는 함수
작성자
최정호
작성일
2007-04-26 13:20ⓒ
2007-04-26 13:26ⓜ
조회수
3,761

create function sss(@a nvarchar(4000))

returns nvarchar(4000)

as

begin

declare @i int

declare @str nvarchar

declare @result nvarchar(4000)

set @result = ''

set @str = ''

set @i=1

             while @i <= len(@a)

             begin

                        if unicode(substring(@a,@i,1)) = 12288

                        begin

                                 set @str = ''

                        end

                        else

                                begin

                                           set @str = nchar(unicode(substring(@a,@i,1))-65248)

                                end

           set @i = @i + 1

           set @result = @result + @str

           end

return @result

end


전각을 반각으로 처리하는 함수인데

함수호출을 어케 해야하는 건지요?

예를 들어서 "전각문자테스트"란 테이블에 "명칭"이란 필드에 데이터가 10개 이상 

들어 있을 경우 한번에 update를 하는 방법을 설명좀 부탁해요.

이 글에 대한 댓글이 총 4건 있습니다.
update 전각문자테스트
set 명칭 = sss(명칭)
='ㅅ'=님이 2007-04-26 17:29에 작성한 댓글입니다. Edit

감사합니다. 그런데 함수가 필드 전체가 전각일때는 반각으로 
처리가 되고 전각과 반각이 혼합되었을경우에는 처리가 않되는데
함수 수정좀 부탁합니다.

최정호님이 2007-04-26 19:16에 작성한 댓글입니다. Edit

전각, 반각이라는 개념이 부족하긴 하지만. 함수보면 한글자씩 잘라서 변환하는것 같은데요..

안된다면. 음.. ;;

='ㅅ'=님이 2007-04-27 13:15에 작성한 댓글입니다. Edit


1)정상처리 예제

   전각만입력:ABCDE  ->  전각만출력:ABCDE




2)비정상처리 예제

  전각반각입력:ABCDEF  ->  전각반각출력: NULL


왜 처리가 않되는 것일까여?
혹 if를 함 더써서 조건을 달아야하는것은 아닐까여?
문자값의 범위가 전각 이하일경우는 그냥출력 나머지는 반각처리정도.....
위 문장을 정확히 이해를 못하고 있거던여

최정호님이 2007-04-27 14:49에 작성한 댓글입니다.
이 댓글은 2007-04-27 14:52에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
3449질문드립니다..
질문자
2007-04-27
1901
3448SEQ 추가시.. [1]
수영
2007-04-27
2549
3446SEQ번호 자동증가 [2]
수영
2007-04-27
5699
3442전각을 반각으로 변환하는 함수 [4]
최정호
2007-04-26
3761
3441MS-SQL 2005 서비스 팩 2 이후 패치 버전....
박상수
2007-04-26
2192
3440형변환 시 소수점이 이상합니다 [1]
김종호
2007-04-25
2720
3439최고값 구하기 쿼리 질문입니다. [1]
윤동희
2007-04-25
2278
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다