SOUNDEX 함수 블록

SOUNDEX 함수 블록은 문자열의 음향 유사성을 계산합니다.

Soundex 값은 유사한 발음의 단어가 동일한 Soundex 값을 생성하는 특성이 있습니다. 이는 정확한 철자를 모르지만 발음을 알고 있을 때 데이터베이스 검색에 사용할 수 있습니다. Soundex 함수는 첫 번째 문자로 시작하는 네 문자 문자열을 반환합니다.

입력 STR

입력은 계산할 문자열을 정의합니다.

출력

Soundex 코드가 포함된 문자열을 반환합니다.

기본 규칙

모든 Soundex 코드는 하나의 문자에 이어서 세 개의 숫자로 구성됩니다. 예를 들어, A532는 Antcas에 대해 사용됩니다. 인코딩할 단어가 너무 길어 더 많은 숫자를 생성할 수 있다면 세 번째 숫자에서 중단합니다. 단어가 너무 짧으면 마지막 숫자를 0으로 채웁니다. 따라서 아시아 이름인 Lee는 L000로 인코딩됩니다.

숫자 대응하는 문자
1 B, F, P, V
2 C, G, J, K, Q, S, X, Z
3 D, T
4 L
5 M, N
6 R

모음 A, E, I, OU와 자음 H, WY는 첫 번째 문자를 제외하고 무시됩니다. 독일어에 대해 확장할 수 있습니다: Ä, ÖÜ는 무시되며, "sharp S" ß는 단순한 S로 인코딩됩니다.

원래 문자열에서 연속된 여러 문자가 동일한 Soundex 코드를 가지면 결과에는 한 번만 나타납니다. 예를 들어, abfxA120이 됩니다 (a는 첫 번째 문자로 유지되며, bf는 모두 동일한 코드 1을 생성하며, x2를 생성합니다. 마지막에 0이 추가되어 네 문자가 되도록 합니다).

Soundex 방법을 실용적으로 적용할 때 주로 두 가지 문제가 제기됩니다: 첫째, 영어에 매우 특화되어 있으며 둘째, 매우 거친 분석만 제공한다는 것입니다.

그럼에도 불구하고 이 알고리즘은 음향 검색을 위해 가장 자주 사용되는 것으로 간주됩니다. 이는 Oracle 데이터베이스에 대한 PL/SQL 표준 명령이 이미 오래전에 구현되었기 때문일 것입니다.