パラメーターのデータ型
SQLBindParameter で指定された各パラメーターは SQL データ型を使用して定義されますが、SQL ステートメントのパラメーターには組み込みデータ型がありません。 したがって、パラメーター マーカーは、ステートメント内の別のオペランドからデータ型を推論できる場合にのみ、SQL ステートメントに含めることができます。 たとえば、? などの算術式では、 + COLUMN1、パラメーターのデータ型は、COLUMN1で表される名前付き列のデータ型から推論できます。 データ型を特定できない場合、アプリケーションはパラメーター マーカーを使用できません。
次の表では、SQL-92 に従って、複数の種類のパラメーターに対してデータ型を決定する方法について説明します。 他の SQL 句を使用する場合のパラメーター型の推論に関するより包括的な仕様については、SQL-92 の仕様を参照してください。
パラメーターの場所 | 想定されるデータ型 |
---|---|
2 項算術演算子または比較演算子の 1 つのオペランド | 他のオペランドと同じ |
BETWEEN 句の最初のオペランド | 2 番目のオペランドと同じ |
BETWEEN 句の 2 番目または 3 番目のオペランド | 最初のオペランドと同じ |
IN で使用される式 | サブクエリの最初の値または結果列と同じ |
IN で使用される値 | 式と同じか、式にパラメーター マーカーがある場合は最初の値と同じです |
LIKE で使用されるパターン値 | VARCHAR |
UPDATE で使用される更新値 | 更新列と同じ |