Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Programmierung » Embedded SQL » Der SQL-Deskriptor-Bereich (SQLDA) » SQLDA sqllen-Feldwerte

 

Werte beschreiben

Die folgende Tabelle zeigt die Werte der Strukturelemente sqllen und sqltype, die die DESCRIBE-Anweisung für verschiedene Datenbanktypen zurückgibt (sowohl SELECT LIST als auch BIND VARIABLE DESCRIBE-Anweisungen). Bei einem benutzerdefinierten Datenbank-Datentyp wird der zu Grunde liegende Datentyp beschrieben.

Ihr Programm kann entweder die Typen und Längen verwenden, die DESCRIBE zurückgibt, oder es kann andere Typen verwenden. Der Datenbankserver wird jede erforderliche Typkonvertierung durchführen. Der Speicherbereich, auf den das sqldata-Feld zeigt, muss mit den Feldern sqltype und sqllen übereinstimmen. Der Embedded SQL-Typ wird durch eine bitweise AND-Verknüpfung von sqltype und DT_TYPES (sqltype & DT_TYPES) erhalten.

Hinweise zu Embedded SQL-Datentypen finden Sie unter Datentypen in Embedded SQL.

Datenbank-Feldtyp Zurückgegebener Embedded SQL-Typ Von DESCRIBE zurückgegebene Länge (in Byte)
BIGINT DT_BIGINT 8
BINARY(n) DT_BINARY n
BIT DT_BIT 1
CHAR(n) DT_FIXCHAR2 n-mal die maximale Datenerweiterung bei der Konvertierung vom Datenbankzeichensatz in den CHAR-Zeichensatz des Clients. Wenn diese Länge mehr als 32767 Byte beträgt, dann wird der Embedded SQL-Typ DT_LONGVARCHAR mit einer Länge von 32767 Byte zurückgegeben.
CHAR(n CHAR) DT_FIXCHAR2 n-mal die maximale Zeichenlänge im CHAR-Zeichensatz des Clients. Wenn diese Länge mehr als 32767 Byte beträgt, dann wird der Embedded SQL-Typ DT_LONGVARCHAR mit einer Länge von 32767 Byte zurückgegeben.
DATE DT_DATE Die Länge der längsten formatierten Zeichenfolge
DECIMAL(p,s) DT_DECIMAL Das high byte des Längenfelds im SQLDA-Bereich auf p setzen, das low byte auf s.
DOUBLE DT_DOUBLE 8
FLOAT DT_FLOAT 4
INT DT_INT 4
LONG BINARY DT_LONGBINARY 32767
LONG NVARCHAR DT_LONGNVARCHAR1 32767
LONG VARCHAR DT_LONGVARCHAR 32767
NCHAR(n) DT_NFIXCHAR1 n-mal die maximale Zeichenlänge im NCHAR-Zeichensatz des Clients. Wenn diese Länge mehr als 32767 Byte beträgt, dann wird der Embedded SQL-Typ DT_LONGNVARCHAR mit einer Länge von 32767 Byte zurückgegeben.
NVARCHAR(n) DT_NVARCHAR1 n-mal die maximale Zeichenlänge im NCHAR-Zeichensatz des Clients. Wenn diese Länge mehr als 32767 Byte beträgt, dann wird der Embedded SQL-Typ DT_LONGNVARCHAR mit einer Länge von 32767 Byte zurückgegeben.
REAL DT_FLOAT 4
SMALLINT DT_SMALLINT 2
TIME DT_TIME Die Länge der längsten formatierten Zeichenfolge
TIMESTAMP DT_TIMESTAMP Die Länge der längsten formatierten Zeichenfolge
TINYINT DT_TINYINT 1
UNSIGNED BIGINT DT_UNSBIGINT 8
UNSIGNED INT DT_UNSINT 4
UNSIGNED SMALLINT DT_UNSSMALLINT 2
VARCHAR(n) DT_VARCHAR2 n-mal die maximale Datenerweiterung bei der Konvertierung vom Datenbankzeichensatz in den CHAR-Zeichensatz des Clients. Wenn diese Länge mehr als 32767 Byte beträgt, dann wird der Embedded SQL-Typ DT_LONGVARCHAR mit einer Länge von 32767 Byte zurückgegeben.
VARCHAR(n CHAR) DT_VARCHAR(2) n-mal die maximale Zeichenlänge im CHAR-Zeichensatz des Clients. Wenn diese Länge mehr als 32767 beträgt, dann wird der Embedded SQL-Typ DT_LONGVARCHAR mit der Länge 32767 zurückgegeben.

1 Der für NCHAR und NVARCHAR zurückgegebenen Typ kann DT_LONGNVARCHAR sein, wenn die maximale Bytelänge im NCHAR-Zeichensatz des Clients größer als 32767 Byte ist. Beispiele dafür, welche Ergebnisse zurückgegeben werden, wenn eine DESCRIBE durchgeführt wird, finden Sie unter NCHAR-Datentyp und NVARCHAR-Datentyp.

In Embedded SQL werden NCHAR, NVARCHAR und LONG NVARCHAR standardmäßig als DT_FIXCHAR, DT_VARCHAR bzw. DT_LONGVARCHAR beschrieben. Wenn die Funktion db_change_nchar_charset aufgerufen wurde, werden die Typen als DT_NFIXCHAR, DT_NVARCHAR bzw. DT_LONGNVARCHAR beschrieben. Siehe db_change_nchar_charset-Funktion.

2 Der zurückgegebene Typ kann DT_LONGVARCHAR sein, wenn die maximale Bytelänge im CHAR Zeichensatz des Clients größer als 32767 Byte ist. Beispiele dafür, welche Ergebnisse zurückgegeben werden, wenn eine DESCRIBE durchgeführt wird, finden Sie unter CHAR-Datentyp und VARCHAR-Datentyp.