Tipi di dati parametro
Anche se ogni parametro specificato con SQLBindParameter viene definito usando un tipo di dati SQL, i parametri in un'istruzione SQL non hanno alcun tipo di dati intrinseco. Pertanto, i marcatori di parametro possono essere inclusi in un'istruzione SQL solo se i relativi tipi di dati possono essere dedotti da un altro operando nell'istruzione . Ad esempio, in un'espressione aritmetica, ad esempio ? + COLUMN1, il tipo di dati del parametro può essere dedotto dal tipo di dati della colonna denominata rappresentata da COLUMN1. Un'applicazione non può usare un marcatore di parametro se non è possibile determinare il tipo di dati.
La tabella seguente descrive come viene determinato un tipo di dati per diversi tipi di parametri, in base a SQL-92. Per una specifica più completa sull'inferenza del tipo di parametro quando vengono usate altre clausole SQL, vedere la specifica SQL-92.
Posizione del parametro | Tipo di dati assunto |
---|---|
Un operando di un operatore aritmetico o di confronto binario | Uguale all'altro operando |
Primo operando in una clausola BETWEEN | Uguale al secondo operando |
Secondo o terzo operando in una clausola BETWEEN | Uguale al primo operando |
Espressione utilizzata con IN | Uguale al primo valore o alla colonna risultato della sottoquery |
Valore utilizzato con IN | Uguale all'espressione o al primo valore se è presente un marcatore di parametro nell'espressione |
Valore del criterio usato con LIKE | VARCHAR |
Valore di aggiornamento usato con UPDATE | Uguale alla colonna di aggiornamento |