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 |