次の方法で共有


パラメーターのデータ型

SQLBindParameter で指定された各パラメーターは SQL データ型を使用して定義されていますが、SQL ステートメントのパラメーターには組み込みデータ型がありません。 したがって、パラメーター マーカーを SQL ステートメントに含めることができるのは、ステートメント内の別のオペランドからデータ型を推論できる場合のみです。 たとえば、 などの算術式では 、 などです。 + COLUMN1: パラメーターのデータ型は、COLUMN1 で表される名前付き列のデータ型から推論できます。 データ型を特定できない場合、アプリケーションはパラメーター マーカーを使用できません。

次の表では、SQL-92 に従って、複数の種類のパラメーターに対してデータ型を決定する方法について説明します。 他の SQL 句を使用する場合のパラメーター型の推論に関するより包括的な仕様については、SQL-92 の仕様を参照してください。

パラメーターの場所 想定されるデータ型
二項算術演算子または比較演算子の 1 つのオペランド 他のオペランドと同じ
BETWEEN 句の最初のオペランド 2 番目のオペランドと同じ
BETWEEN 句の 2 番目または 3 番目のオペランド 最初のオペランドと同じ
IN で使用される式 サブクエリの最初の値または結果列と同じ
IN で使用される値 式と同じか、式にパラメーター マーカーがある場合は最初の値
LIKE で使用されるパターン値 VARCHAR
UPDATE で使用される更新 更新列と同じ