参数数据类型
即使使用 SQLBindParameter 指定的每个参数都是使用 SQL 数据类型定义的,但 SQL 语句中的参数没有固有数据类型。 因此,仅当可以从语句中的另一个操作数推断参数标记时,参数标记才能包含在 SQL 语句中。 例如,在算术表达式中,如 ? + COLUMN1,可以从COLUMN1所表示的命名列的数据类型推断参数的数据类型。 如果无法确定数据类型,应用程序无法使用参数标记。
下表说明如何根据 SQL-92 确定多个类型的参数的数据类型。 有关在使用其他 SQL 子句时推断参数类型的更全面的规范,请参阅 SQL-92 规范。
参数的位置 | 假定的数据类型 |
---|---|
二元算术或比较运算符的一个操作数 | 与其他操作数相同 |
BETWEEN 子句中的第一个操作数 | 与第二个操作数相同 |
BETWEEN 子句中的第二个或第三个操作数 | 与第一个操作数相同 |
与 IN 一起使用 的表达式 | 与子查询的第一个值或结果列相同 |
与 IN 一起使用 的值 | 如果表达式中有参数标记,则与表达式或第一个值相同 |
与 LIKE 一起使用的 模式值 | VARCHAR |
用于 UPDATE 的更新值 | 与更新列相同 |