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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL データ型 » データ型変換

 

ビット配列の変換

整数をビット配列に変換する

整数をビット配列に変換すると、ビット配列の長さは整数型のビット数になり、ビット配列の値は整数のバイナリ表現になります。整数の最上位ビットは配列の最初のビットになります。

SELECT CAST( CAST( 1 AS BIT ) AS VARBIT ) は 1 を含む VARBIT(1) を返します。

SELECT CAST( CAST( 8 AS TINYINT ) AS VARBIT ) は 00001000 を含む VARBIT(8) を返します。

SELECT CAST( CAST( 194 AS INTEGER ) AS VARBIT ) は 00000000000000000000000011000010 を含む VARBIT(32) を返します。

バイナリをビット配列に変換する

長さ n のバイナリ型をビット配列に変換すると、配列の長さは n * 8 ビットになります。ビット配列の最初の 8 ビットはバイナリ値の最初のバイトになります。バイナリ値の最上位ビットは配列の最初のビットになります。ビット配列の次の 8 ビットはバイナリ値の 2 番目のバイトになります。以降も同様です。

SELECT CAST( 0x8181 AS VARBIT ) は 1000000110000001 を含む VARBIT(16) を返します。

文字をビット配列に変換する

長さ n の文字データ型をビット配列に変換すると、配列の長さは n ビットになります。各文字は '0' または '1' で、配列の対応するビットには値 0 または 1 が割り当てられます。

SELECT CAST( '001100' AS VARBIT ) は 001100 を含む VARBIT(6) を返します。

ビット配列を整数に変換する

ビット配列を整数データ型に変換すると、ビット配列のバイナリ値は、最初に最上位ビットを使用し、整数型の格納形式に従って解釈されます。

SELECT CAST( CAST( '11000010' AS VARBIT ) AS INTEGER ) は 194 (110000102 = 0xC2 = 194) を返します。

ビット配列をバイナリに変換する

ビット配列をバイナリに変換すると、配列の最初の 8 ビットがバイナリ値の最初のバイトになります。配列の最初のビットは、バイナリ値の最上位ビットになります。続く 8 ビットは 2 番目のバイトとして使用されます。以降も同様です。ビット配列の長さが 8 の倍数ではない場合、バイナリ値の最終バイトの最下位ビットに入力するときに追加の 0 が使用されます。

SELECT CAST( CAST( '1111' AS VARBIT ) AS BINARY ) は 0xF0 (11112 は 111100002 = 0xF0 になります) を返します。

SELECT CAST( CAST( '0011000000110001' AS VARBIT ) AS BINARY ) は 0x3031 (00110000001100012 = 0x3031) を返します。

ビット配列を文字に変換する

長さ n ビットのビット配列を文字データ型に変換すると、結果の長さは n 文字になります。結果の各文字には、配列のビットに応じて '0' または '1' が指定されます。

SELECT CAST( CAST( '01110' AS VARBIT ) AS VARCHAR ) は文字列 '01110' を返します。