본문 바로가기

[오라클 레퍼런스 함수] SOUNDEX - 음성적인 표현으로 변환

by ㅇㅍㅍ 2023. 8. 17.
[오라클 레퍼런스 함수] SOUNDEX - 음성적인 표현으로 변환
728x90

 

SOUNDEX

 

구문

SOUNDEX(char)

 

목적

SOUNDEX 함수는 char의 음성적인 표현(phonetic representation)을 포함하는 문자열을 반환합니다. 이 함수를 사용하여 스펠링은 다르지만 영어에서 비슷한 소리를 내는 단어를 비교할 수 있습니다.

음성적 표현은 다음과 같이 정의됩니다.

  • 문자열의 첫 번째 글자를 유지하고 다음 글자들을 모두 제거합니다: a, e, h, i, o, u, w, y.

  • 남은 글자들(첫 번째 글자 이후)에 숫자를 할당합니다.
    b, f, p, v = 1
    c, g, j, k, q, s, x, z = 2
    d, t = 3
    l = 4
    m, n = 5
    r = 6
  • 만약 두 개 이상의 글자가 동일한 숫자로 인접하거나(1단계 이전에), 또는 h와 w를 제외한 모든 인접 글자들 사이에 있는 경우, 첫 번째 글자를 유지하고 동일한 숫자를 가진 나머지 인접 글자를 제외합니다.

  • 첫 번째 네 바이트를 0으로 패딩하여 반환합니다.

charCHAR, VARCHAR2, NCHAR 또는 NVARCHAR2 데이터 유형 중 하나일 수 있습니다. 반환 값은 char와 동일한 데이터 유형입니다.

이 함수는 CLOB 데이터를 직접 지원하지 않습니다. 그러나 CLOB는 암묵적 데이터 변환을 통해 인수로 전달될 수 있습니다.

 

 

참고:

 

예제

다음 예제는 "Smyth"의 음성적인 표현과 일치하는 성을 가진 직원을 반환합니다.

SELECT last_name, first_name
     FROM hr.employees
     WHERE SOUNDEX(last_name)
         = SOUNDEX('SMYTHE')
     ORDER BY last_name, first_name;

LAST_NAME  FIRST_NAME
---------- ----------
Smith      Lindsey
Smith      William

 


출처: 오라클 레퍼런스

원문 링크: Oracle SOUNDEX 함수 문서

 

반응형

댓글