Partage via


Types de données de paramètre

Même si chaque paramètre spécifié avec SQLBindParameter est défini à l’aide d’un type de données SQL, les paramètres d’une instruction SQL n’ont aucun type de données intrinsèque. Par conséquent, les marqueurs de paramètres peuvent être inclus dans une instruction SQL uniquement si leurs types de données peuvent être déduits d’un autre opérande dans l’instruction. Par exemple, dans une expression arithmétique telle que ? + COLUMN1, le type de données du paramètre peut être déduit du type de données de la colonne nommée représentée par COLUMN1. Une application ne peut pas utiliser de marqueur de paramètre si le type de données ne peut pas être déterminé.

Le tableau suivant décrit comment un type de données est déterminé pour plusieurs types de paramètres, conformément à SQL-92. Pour obtenir une spécification plus complète sur l’inférence du type de paramètre lorsque d’autres clauses SQL sont utilisées, consultez la spécification SQL-92.

Emplacement du paramètre Type de données supposé
Un opérande d’un opérateur arithmétique ou de comparaison binaire Identique à l’autre opérande
Premier opérande dans une clause BETWEEN Identique au deuxième opérande
Deuxième ou troisième opérande dans une clause BETWEEN Identique au premier opérande
Expression utilisée avec IN Identique à la première valeur ou à la colonne de résultat de la sous-requête
Valeur utilisée avec IN Identique à l’expression ou à la première valeur s’il existe un marqueur de paramètre dans l’expression
Valeur de modèle utilisée avec LIKE VARCHAR
Valeur de mise à jour utilisée avec UPDATE Identique à la colonne de mise à jour