PDF (US Ltr)
- 26.8Mb
PDF (A4)
- 26.8Mb
HTML Download (TGZ)
- 7.2Mb
HTML Download (Zip)
- 7.2Mb
ビットフィールド値は、b'
または value
'0b
表記を使用して記述できます。value
value
は、0 と 1 で書かれた 2 進値です。
ビットフィールド表記は BIT
カラムに割り当てる値を指定するのに便利です。
mysql> CREATE TABLE t (b BIT(8));
mysql> INSERT INTO t SET b = b'11111111';
mysql> INSERT INTO t SET b = b'1010';
mysql> INSERT INTO t SET b = b'0101';
ビット値は 2 進値として返されます。それらを出力可能な形式で表示するには、0 を追加するか、BIN()
などの変換関数を使用します。変換された値には上位の 0 ビットは表示されません。
mysql> SELECT b+0, BIN(b+0), OCT(b+0), HEX(b+0) FROM t;
+------+----------+----------+----------+
| b+0 | BIN(b+0) | OCT(b+0) | HEX(b+0) |
+------+----------+----------+----------+
| 255 | 11111111 | 377 | FF |
| 10 | 1010 | 12 | A |
| 5 | 101 | 5 | 5 |
+------+----------+----------+----------+
ユーザー変数に割り当てられたビット値は、バイナリ文字列として扱われます。ビット値を数値としてユーザー変数に割り当てるには、CAST()
または +0
を使用します。
mysql> SET @v1 = 0b1000001;
mysql> SET @v2 = CAST(0b1000001 AS UNSIGNED), @v3 = 0b1000001+0;
mysql> SELECT @v1, @v2, @v3;
+------+------+------+
| @v1 | @v2 | @v3 |
+------+------+------+
| A | 65 | 65 |
+------+------+------+