Freigeben über


Parameterdatentypen

Obwohl jeder parameter, der mit SQLBindParameter angegeben ist, mithilfe eines SQL-Datentyps definiert wird, weisen die Parameter in einer SQL-Anweisung keinen systeminternen Datentyp auf. Daher können Parametermarkierungen nur dann in eine SQL-Anweisung einbezogen werden, wenn ihre Datentypen von einem anderen Operanden in der Anweisung abgeleitet werden können. Beispiel: in einem arithmetischen Ausdruck wie ? + COLUMN1 kann der Datentyp des Parameters vom Datentyp der benannten Spalte abgeleitet werden, die durch COLUMN1 dargestellt wird. Eine Anwendung kann keine Parametermarkierung verwenden, wenn der Datentyp nicht bestimmt werden kann.

In der folgenden Tabelle wird beschrieben, wie ein Datentyp für mehrere Parametertypen gemäß SQL-92 bestimmt wird. Eine umfassendere Spezifikation zum Ableiten des Parametertyps, wenn andere SQL-Klauseln verwendet werden, finden Sie in der SQL-92-Spezifikation.

Speicherort des Parameters Angenommener Datentyp
Ein Operand eines binären arithmetischen oder Vergleichsoperators Identisch mit dem anderen Operanden
Der erste Operand in einer BETWEEN-Klausel Identisch mit dem zweiten Operanden
Der zweite oder dritte Operand in einer BETWEEN-Klausel Identisch mit dem ersten Operanden
Ein Ausdruck, der mit IN verwendet wird Identisch mit dem ersten Wert oder der Ergebnisspalte der Unterabfrage
Ein mit IN verwendeter Wert Identisch mit dem Ausdruck oder dem ersten Wert, wenn ein Parametermarker im Ausdruck vorhanden ist
Ein Musterwert, der mit LIKE verwendet wird VARCHAR
Ein updatewert, der mit UPDATE verwendet wird Identisch mit der Aktualisierungsspalte