FROM_VECTOR
FROM_VECTOR
は、入力としてベクトルを取得し、出力としてVARCHAR2
またはCLOB
型の文字列を返します。
用途
FROM_VECTOR
では、オプションでRETURNING
句を使用して、戻り値のデータ型を指定します。
サイズを指定せずにVARCHAR2
を指定すると、返される値サイズのサイズは32767になります。
SQLでは、オプションで、入力ベクトルの格納形式をFORMAT
句(トークンSPARSE
またはDENSE
を使用)で指定できます。戻り値の格納形式はPL/SQLで指定できず、出力形式は入力ベクトルの格納形式によって判断されます。
CHAR
、NCHAR
およびNVARCHAR2
への変換はサポートされません。
FROM_VECTOR
は、VECTOR_SERIALIZE
と同義です。
パラメータ
expr
はベクトルに評価される必要があります。このファンクションは、expr
がNULLの場合はNULLを返します。
例
-
SELECT FROM_VECTOR(TO_VECTOR('[1, 2, 3]') );
結果:
FROM_VECTOR(TO_VECTOR('[1,2,3]')) –--------------------------------------------------------------- [1.0E+000,2.0E+000,3.0E+000] 1 row selected.
-
SELECT FROM_VECTOR(TO_VECTOR('[1.1, 2.2, 3.3]', 3, FLOAT32) );
結果:
FROM_VECTOR(TO_VECTOR('[1.1,2.2,3.3]',3,FLOAT32)) ------------------------------------------------------------------ [1.10000002E+000,2.20000005E+000,3.29999995E+000] 1 row selected.
-
SELECT FROM_VECTOR( TO_VECTOR('[1.1, 2.2, 3.3]', 3, FLOAT32) RETURNING VARCHAR2(1000));
結果:
FROM_VECTOR(TO_VECTOR('[1.1,2.2,3.3]',3,FLOAT32)RETURNINGVARCHAR2(1000)) -------------------------------------------------------------------------------- [1.10000002E+000,2.20000005E+000,3.29999995E+000] 1 row selected.
-
SELECT FROM_VECTOR(TO_VECTOR('[1.1, 2.2, 3.3]', 3, FLOAT32) RETURNING CLOB );
結果:
FROM_VECTOR(TO_VECTOR('[1.1,2.2,3.3]',3,FLOAT32)RETURNINGCLOB) -------------------------------------------------------------------------------- [1.10000002E+000,2.20000005E+000,3.29999995E+000] 1 row selected.
ノート:
-
次の例に示すように、Oracle Client 23aiライブラリまたはThinモード・ドライバを使用するアプリケーションは、ベクトル・データを直接フェッチできます。
SELECT dataVec FROM vecTab;
-
Oracle Database 23aiに接続された23aiより前のOracle Client 23aiライブラリを使用するアプリケーションの場合、次の例に示すように、
FROM_VECTOR
を使用してベクトル・データをフェッチします。SELECT FROM_VECTOR(dataVec) FROM vecTab;
親トピック: ベクトルのシリアライザ