VECTOR_DISTANCE スカラー関数
Distance関数は、2つのベクトル間の距離を返します。
VECTOR_DISTANCE 関数は入力パラメータとして2つのベクトルを受け取り、指定された距離メトリックに基づいてそれらの間の距離を返す。
この関数は類似検索のユースケース用に設計されており、ユーザーは2つのベクトル間の距離を計算することができる。
スキーマは SYSIBM です。
- vector1
- 距離の計算に使われる最初のベクトルを表すベクトル値。 ベクトルは vector1 と同じ座標型、同じ次元のベクトルでなければならない。 vector2. vector2
- 距離の計算に使われる2番目のベクトルを表すベクトル値。 ベクトルは vector2 と同じ座標型、同じ次元のベクトルでなければならない。 vector1. メトリック (Metric)
- との間の距離を計算するために使用されるメトリックを特定する。 vector1 と vector2. 以下のメトリクスがサポートされています:
- Cosine
- ユークリッド
- ユークリッド二乗
- DOT
- ハミング
- マンハッタン
結果
関数の結果は、計算された vector1 と vector2 の間の距離を表すDOUBLE値である。 VECTOR引数のどちらかがNULLの場合、または dft_sqlmathwarn データベース構成パラメータがYESに設定されている場合、結果はNULL値になります。VECTOR引数のどちらかがNULLの場合、または dft_sqlmathwarn データベース構成パラメータがYESに設定されている場合で、ゼロ除算エラーが発生した場合、結果はNULL値になります。
例
次の例は、同じ VECTOR 値のペア間の距離を計算するコマンド構文です。
SELECT VECTOR_DISTANCE(VECTOR('[-0.0762727, 0.0559632]', 2, REAL),
VECTOR('[-0.0762727, 0.0559632]', 2, REAL), COSINE) as DISTANCE
FROM SYSIBM.SYSDUMMY1
DISTANCE
------------------------
+0.00000000000000E+000
1 record(s) selected.