Skip to main content

TO_VECTOR (SQL)

配列をベクトルに変換します。

構文

TO_VECTOR(data [, type ] [, length ])

説明

TO_VECTOR 関数は、入力データを指定された型のベクトルに変換します。ダイナミック SQL でこの関数を使用している場合 (この場合、ダイナミック配列など、他のデータ型が許容されます) を除き、入力データは常に文字列型になります。

この関数は INSERT 文で使用してベクトルの型のデータをテーブルにロードしたり、VECTOR_DOT_PRODUCT のような関数で使用してベクトルを入力することができます。

引数

data

ベクトルに変換するデータを含む文字列。文字列内のエントリは、コンマ (,) で区切る必要があります。必要に応じて、データの始まりと終わりを示すのに、角括弧 ([]) を使用できます。

ダイナミック SQL で TO_VECTOR を使用している場合は、その他のデータ型が許容されます。許容されるデータ型は、SelectMode で決定されます。SelectMode が ODBC または Display の場合、data 引数は、文字列としてだけではなく、DynamicArray としても渡すことができます。SelectMode が Logical の場合、data 引数は、$vector として入力する必要があります。

type

結果として得られるベクトルの目的のデータ型を指定する引数 (オプション)。使用可能な値は、integer (intも可能)、doubledecimalstring のリテラルです。要素が目的の型と一致しない場合、これは強制的に指定された型に変換され、エラーはスローされません。double または decimal の型から integer への変換では、小数点以下は四捨五入ではなく、切り捨てられます。

省略した場合、既定の double が使用されます。ベクトル内の要素のデータ型が異なる場合 (ある要素が string で、他の要素が double の場合など)、この関数は失敗し、SQLCODE -1 を返します。

length

テーブルに追加される、結果としてのベクトルの長さを指定する引数 (オプション)。data の要素が length で指定された値より少ない場合、ベクトルには追加の値が埋め込まれます。数値型のベクトルの場合、これらの追加の値は 0 です。文字列型のベクトルの場合は、空の文字列 ('') になります。

datalength を上回る数の要素がある場合、入力データは切り捨てられ、ベクトルには最初の length の数の要素のみが含まれます。

以下の例は、TO_VECTOR を使用した INSERT 文を実行し、単語とそれらに対応する埋め込みを格納するテーブルに行を追加します。この例では、単語 “person” の埋め込みを表すのに、現実的なディメンジョンの数が使用されていないことに注意してください。

INSERT INTO Words.Embeddings (word,embedding) VALUES ("person", TO_VECTOR('1,3,5,7,9',int))

関連項目


FeedbackOpens in a new tab