- 카테고리:
VECTOR_L1_DISTANCE¶
두 벡터 사이의 L1 거리를 계산합니다.
택시 거리 또는 맨해튼 거리라고도 하는 L1 거리는 벡터 공간에서 두 점 사이의 거리를 측정한 값입니다. 거리는 벡터 요소의 차이의 절대값의 합을 구하여 계산합니다. 결과는 0 이상의 값입니다. 거리가 0이면 벡터는 동일합니다. 거리가 클수록 벡터 사이의 간격도 넓어집니다.
구문¶
VECTOR_L1_DISTANCE( <vector>, <vector> )
인자¶
vector
거리 계산을 시작할 VECTOR 값입니다.
vector
거리 계산을 종료할 VECTOR 값입니다.
반환¶
두 입력 벡 터 사이의 L1 거리를 FLOAT 값으로 반환합니다.
사용법 노트¶
벡터 비교 함수의 계산 최적화로 인해 부동소수점 오차가 평소보다 약간 더 클 수 있습니다(예: 약 1e-4).
예¶
이 예제는 VECTOR_L1_DISTANCE 함수를 사용하여 테이블에서 a
열과 b
열 사이에 가장 가까운 벡터를 결정합니다.
CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT [1.1,2.2,3]::VECTOR(FLOAT,3), [1,1,1]::VECTOR(FLOAT,3);
INSERT INTO vectors SELECT [1,2.2,3]::VECTOR(FLOAT,3), [4,6,8]::VECTOR(FLOAT,3);
SELECT VECTOR_L1_DISTANCE(a, b) FROM vectors;
+--------------+
| 3.300000191 |
|--------------|
| 11.800000191 |
+--------------+