參數資料類型

即使使用 SQLBindParameter 指定的每個參數都是使用 SQL 資料類型來定義,但 SQL 語句中的參數沒有內建資料類型。 因此,只有在可以從 語句中的另一個運算元推斷參數標記時,才能將其資料類型包含在 SQL 語句中。 例如,在算術運算式中,例如 ? + COLUMN1,可以從 COLUMN1 所表示之具名資料行的資料類型推斷參數的資料類型。 如果無法判斷資料類型,應用程式就無法使用參數標記。

下表說明如何根據 SQL-92 判斷數種參數類型的資料類型。 如需在使用其他 SQL 子句時推斷參數類型的更完整規格,請參閱 SQL-92 規格。

參數的位置 假設的資料類型
二元算術或比較運算子的一個運算元 與其他運算元相同
BETWEEN 子句中的第一個 運算元 與第二個運算元相同
BETWEEN 子句中的第二或第三個 運算元 與第一個運算元相同
搭配 IN 使用的 運算式 與子查詢的第一個值或結果資料行相同
與 IN 搭配 使用的值 如果運算式中有參數標記,則與運算式相同或第一個值
搭配 LIKE 使用的 模式值 VARCHAR
與 UPDATE 搭配 使用的更新值 與更新資料行相同