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

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Datentypen » Datentypkonvertierungen

 

Bit-Arrays konvertieren

Ganzzahlen in Bit-Arrays konvertieren

Wenn eine Ganzzahl in ein Bit-Array konvertiert wird, ist die Länge des Bit-Arrays die Anzahl von Bits im Ganzzahltyp, und der Wert des Bit-Arrays ist die binäre Darstellung der Ganzzahl. Das signifikanteste Bit der Ganzzahl wird zum ersten Bit im Array.

Beispiele

SELECT CAST( CAST( 1 AS BIT ) AS VARBIT ) gibt ein VARBIT(1) zurück, das '1' enthält.

SELECT CAST( CAST( 8 AS TINYINT ) AS VARBIT ) gibt ein VARBIT(8) zurück, das '00001000' enthält.

SELECT CAST( CAST( 194 AS INTEGER ) AS VARBIT ) gibt ein VARBIT(32) zurück, das '00000000000000000000000011000010' enthält.

Binärwerte in Bit-Arrays konvertieren

Wenn ein Binärtyp der Länge n in ein Bit-Array konvertiert wird, beträgt die Länge des Arrays n * 8 Bit. Die ersten 8 Bits des Bit-Arrays werden zum ersten Byte des Binärwerts. Das signifikanteste Bit des Binärwerts wird zum ersten Bit im Array. Die nächsten 8 Bits des Bit-Arrays werden zum zweiten Byte des Binärwerts, usw.

Beispiele

SELECT CAST( 0x8181 AS VARBIT ) gibt ein VARBIT(16) zurück, das '1000000110000001' enthält.

Zeichen in Bit-Arrays konvertieren

Wenn ein Zeichendatentyp der Länge n in ein Bit-Array konvertiert wird, beträgt die Länge des Arrays n Bit. Jedes Zeichen muss '0' oder '1' sein, und dem entsprechendem Bit des Arrays wird der Wert "0" oder "1" zugeordnet.

Beispiel

SELECT CAST( '001100' AS VARBIT ) gibt ein VARBIT(6) zurück, das '001100' enthält.

Bit-Arrays in Ganzzahlen konvertieren

Wenn ein Bit-Array in einen Ganzahl-Datentyp konvertiert wird, wird der Binärwert des Bit-Arrays anhand des Speicherformats des Ganzzahltyps interpretiert, wobei das signifikanteste Bit zuerst verwendet wird.

Beispiel

SELECT CAST( CAST( '11000010' AS VARBIT ) AS INTEGER ) gibt 194 zurück (110000102 = 0xC2 = 194).

Bit-Arrays in Binärwerte konvertieren

Wenn ein Bit-Array in einen Binärwert konvertiert wird, werden die ersten 8 Bits des Arrays zum ersten Byte des Binärwerts. Das erste Bit des Arrays wird zum signifikantesten Bit des Binärwerts. Die nächsten 8 Bits werden als zweites Byte verwendet, usw. Wenn die Länge des Bit-Arrays nicht ein Vielfaches von 8 ist, werden zusätzliche Nullen verwendet, um das insignifikanteste Bit des letzten Bytes des Binärwerts aufzufüllen.

Beispiele

SELECT CAST( CAST( '1111' AS VARBIT ) AS BINARY ) gibt 0xF0 zurück (11112 wird 111100002 = 0xF0).

SELECT CAST( CAST( '0011000000110001' AS VARBIT ) AS BINARY ) gibt 0x3031 zurück (00110000001100012 = 0x3031).

Bit-Arrays in Zeichen konvertieren

Wenn ein Bit-Array der Länge n in einen Zeichendatentyp konvertiert wird, beträgt die Länge des Ergebnisses n Zeichen. Jedes Zeichen im Ergebnis ist '0' oder '1', abhängig vom Bit im Array.

Beispiel

SELECT CAST( CAST( '01110' AS VARBIT ) AS VARCHAR ) gibt die Zeichenfolge '01110' zurück.