参数数据类型

即使使用 SQLBindParameter 指定的每个参数都是使用 SQL 数据类型定义的,但 SQL 语句中的参数没有内部数据类型。 因此,仅当参数标记的数据类型可以从语句中的另一个操作数推断时,才能包含在 SQL 语句中。 例如,在算术表达式中,例如 ? + COLUMN1,可以从 COLUMN1 表示的命名列的数据类型推断参数的数据类型。 如果无法确定数据类型,则应用程序不能使用参数标记。

下表说明如何根据 SQL-92 为多种类型的参数确定数据类型。 有关在使用其他 SQL 子句时推断参数类型的更全面规范,请参阅 SQL-92 规范。

参数的位置 假定的数据类型
二元算术或比较运算符的一个操作数 与其他操作数相同
BETWEEN 子句中的第一个操作数 与第二个操作数相同
BETWEEN 子句中的第二个或第三个操作数 与第一个操作数相同
IN 一起使用的表达式 与子查询的第一个值或结果列相同
IN 一起使用的值 如果表达式中有参数标记,则与表达式或第一个值相同
LIKE 一起使用的模式值 VARCHAR
与 UPDATE 一起使用的更新 与更新列相同