포스팅 목차
o SOUNDEX
문법
soundex::=
목적
SOUNDEX함수는 문자열 인수 char와 동일한 음성 표현을 가지는 문자열을 반환한다.
이 함수는 스펠링이 틀려도 발음이 유사한 영단어를 비교할 수 있다.
음성 표현은 "The Art of Computer Programming, Volume 3: Sorting and Searching"(Donald E.Knuth 저)에서 다음과 같이 정의되고 있다.
- 문자열의 최초 문자를 남겨서 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
- 만약 같은 수치를 가지는 2개 이상의 문자가 오리지널 이름에서 인접해있거나(첫 번째 스텝 전) 또는 h와 w 사이의 문자를 제외하고 인접해 있다면, 최초 문자 이외의 모든 문자를 삭제한다.
- 0을 붙여서 최초의 4바이트를 반환한다.
char은 CHAR,VARCHAR2,NCHAR,NVARCHAR2 데이터 형이다. 반환되는 값은 char과 같은 데이터형이다.
이 함수는 CLOB데이터를 직접 지원하지 않는다. 다만, 암묵적인 데이터 변환을 통해서 인수로써 전달될 수 있다.
예제
다음 예제는 "Smyth"와 같은 음성 표현을 가지는 종업원을 반환한다.
Oracle Program |
SELECT last_name, first_name
FROM hr.employees
WHERE SOUNDEX(last_name) = SOUNDEX('SMYTHE');
Results |
LAST_NAME FIRST_NAME
---------- ----------
Smith Lindsey
Smith William
오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크 |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 |
반응형
'오라클 게시판 > 오라클 함수' 카테고리의 다른 글
【오라클(Oracle) SQL 함수】 STATS_F_TEST 함수 (0) | 2021.10.20 |
---|---|
【오라클(Oracle) SQL 함수】 STATS_CROSSTAB 함수 (0) | 2021.10.20 |
【오라클(Oracle) SQL 함수】 STATS_BINOMIAL_TEST 함수 (0) | 2021.10.20 |
【오라클(Oracle) SQL 함수】 SQRT 함수 (0) | 2021.10.20 |
【오라클(Oracle) SQL 함수】 SINH 함수 (0) | 2021.10.20 |
댓글