예를들어
이름에 따라
호준이=>받침이 있는경우는 "이"를 붙일려구 하는데요
지호=>받침이 없는 경우는 "이"를 안붙이구
이렇게 처리 할려면 어떻게 해야 할까요?
감사합니다.
Comment 4
-
지영아빠
2022.10.14 10:15
-
조금 찾아보니
https://learn.microsoft.com/ko-kr/sql/t-sql/functions/unicode-transact-sql?view=sql-server-ver16
이걸로 right() 하셔서 마지막 한글자만 가져와 unicode 정수로 변환하시고
http://dr-roach.com/blog/korean-postposition/
결론을 말하자면, 한글문자에 유니코드의 한글 시작점(“가”가 시작점입니다)의 코드를 빼서 28로 나누어 떨어지면 받침이 없고, 나누어 떨어지지 않으면 받침이 있다고 판단하면 됩니다.
위 내용 참조 하셔서 28로 나누고 나머지 여부를 검사하시면 될 듯 합니다.
SQL에서 나머지 가져오기는 % 를 이용하시면 되실듯 합니다.
지금 장비에 SQL이 없어서요. 도움 되시길 바랍니다.
-
지영아빠
2022.10.14 17:10
이런 거 겠네요 ..
with tmp as (
select '호준' as nm union all
select '호주'
)
select
nm +
iif((unicode(right(nm, 1)) - unicode('가')) % 28 = 0, '' , '이' ) as surf
from tmp
-
지영아빠님, 고맙습니다. 능력자시네요.
지영아빠님의 여 답변글들을 보면서 저도 공부 많이 하고 있습니다.
행복한 주말 보내시길 바랍니다.
참고요
1. 받침없는 글자들을 만들고 거기에 들지 않으면 받침있는 걸자로 하면 될 것 같은데요..
with tmp as (
select '호준' as nm union all
select '호주'
)
select
nm + iif(right(nm, 1) in ('자','쟈','저','져','조','죠','주','쥬','지','쥐','줘'), '', '이' ) as nm
from tmp
2. 문자열 코드를 분석하는 방법
- 사용하는 곳의 랭귀지로 구현을 해야 할 것 같으네요.