최종 수정: 에
HAMMING_DISTANCE
::: note 4.1.2부터 지원 :::
설명
HAMMING_DISTANCE 함수는 두 문자열에서 문자가 서로 다른 위치의 수를 반환합니다.
이 함수는 바이트가 아닌 UTF-8 문자 단위로 문자열을 비교합니다. 두 입력 문자열의 UTF-8 문자 수는 같아야 합니다. 비교 시 대소문자를 구분합니다.
구문
HAMMING_DISTANCE(<str1>, <str2>)
매개변수
| 매개변수 | 설명 |
|---|---|
<str1> | 비교할 첫 번째 문자열입니다. |
<str2> | 비교할 두 번째 문자열입니다. |
반환값
문자가 서로 다른 위치의 수를 나타내는 BIGINT 값을 반환합니다.
특수한 경우:
- 인수 중 하나라도 NULL이면 NULL을 반환합니다.
- 두 인수가 모두 빈 문자열이면 0을 반환합니다.
- 두 문자열의 UTF-8 문자 수가 다르면 오류를 반환합니다.
예제
- 길이가 같은 두 ASCII 문자열을 비교합니다.
SELECT hamming_distance('karolin', 'kathrin') AS distance;
+----------+
| distance |
+----------+
| 3 |
+----------+
- 두 UTF-8 문자열을 비교합니다. 두 문자열의 문자 수는 같으며, 한 문자만 다릅니다.
SELECT hamming_distance('数据库', '数据仓') AS distance;
+----------+
| distance |
+----------+
| 1 |
+----------+
- 대소문자만 다른 문자열을 비교합니다.
SELECT hamming_distance('Doris', 'doris') AS distance;
+----------+
| distance |
+----------+
| 1 |
+----------+
- 입력이 NULL이면 NULL을 반환합니다.
SELECT hamming_distance(NULL, 'abc') AS distance;
+----------+
| distance |
+----------+
| NULL |
+----------+