VECTOR_DISTANCE スカラー関数

Distance関数は、2つのベクトル間の距離を返します。

VECTOR_DISTANCE 関数は入力パラメータとして2つのベクトルを受け取り、指定された距離メトリックに基づいてそれらの間の距離を返す。

この関数は類似検索のユースケース用に設計されており、ユーザーは2つのベクトル間の距離を計算することができる。

Read syntax diagramSkip visual syntax diagramVECTOR_DISTANCE(vector1, vector2, metric)

スキーマは SYSIBM です。

vector1
距離の計算に使われる最初のベクトルを表すベクトル値。 ベクトルは vector1 と同じ座標型、同じ次元のベクトルでなければならない。 vector2.
vector2
距離の計算に使われる2番目のベクトルを表すベクトル値。 ベクトルは vector2 と同じ座標型、同じ次元のベクトルでなければならない。 vector1.
メトリック (Metric)
との間の距離を計算するために使用されるメトリックを特定する。 vector1vector2. 以下のメトリクスがサポートされています:
  • Cosine
  • ユークリッド
  • ユークリッド二乗
  • DOT
  • ハミング
  • マンハッタン

結果

関数の結果は、計算された vector1vector2 の間の距離を表す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.