【MySQL】10進数を2進数、8進数、16進数に変換する方法


ここではMySQLで、10進数の数値を2進数、8進数、16進数に変換する方法を紹介しています。

10進数を2進数に変換する方法

10進数を2進数に変換するには、BIN関数またはCONV関数を使います。

BIN関数

BIN関数の基本的な使い方は次の通りです。

BIN(値)

次のSQLでは、数値10,11を2進数に変換しています。

mysql> SELECT BIN(10);
+---------+
| BIN(10) |
+---------+
| 1010    |
+---------+
1 row in set (0.00 sec)

mysql> SELECT BIN(11);
+---------+
| BIN(11) |
+---------+
| 1011    |
+---------+
1 row in set (0.00 sec)

CONV関数

CONV関数の基本的な使い方は次の通りです。

CONV(値,変換元の単位,変換先の単位)

次のSQLでは、10進数10,11に変換しています。

mysql> SELECT CONV(10,10,2);
+---------------+
| CONV(10,10,2) |
+---------------+
| 1010          |
+---------------+
1 row in set (0.00 sec)

mysql> SELECT CONV(11,10,2);
+---------------+
| CONV(11,10,2) |
+---------------+
| 1011          |
+---------------+
1 row in set (0.00 sec)

10進数を8進数に変換する方法

10進数を8進数に変換するには、OCT関数またはCONV関数を使います。

OCT関数

OCT関数の基本的な使い方は次の通りです。

OCT(値)

次のSQLでは、数値10,11を16進数に変換しています。

mysql> SELECT OCT(10);
+---------+
| OCT(10) |
+---------+
| 12      |
+---------+
1 row in set (0.00 sec)

mysql> SELECT OCT(11);
+---------+
| OCT(11) |
+---------+
| 13      |
+---------+
1 row in set (0.00 sec)

CONV関数

CONV関数の基本的な使い方は次の通りです。

CONV(値,変換元の単位,変換先の単位)

次のSQLでは、数値10,11を16進数に変換しています。

mysql> SELECT CONV(10,10,8);
+---------------+
| CONV(10,10,8) |
+---------------+
| 12            |
+---------------+
1 row in set (0.00 sec)

mysql> SELECT CONV(11,10,8);
+---------------+
| CONV(11,10,8) |
+---------------+
| 13            |
+---------------+
1 row in set (0.00 sec)

10進数を16進数に変換する方法

10進数を16進数に変換するには、HEX関数またはCONV関数を使います。

HEX関数

HEX関数の基本的な使い方は次の通りです。

HEX(値)

次のSQLでは、数値10,11を16進数に変換しています。

mysql> SELECT HEX(10);
+---------+
| HEX(10) |
+---------+
| A       |
+---------+
1 row in set (0.00 sec)

mysql> SELECT HEX(11);
+---------+
| HEX(11) |
+---------+
| B       |
+---------+
1 row in set (0.00 sec)

CONV関数

CONV関数の基本的な使い方は次の通りです。

CONV(値,変換元の単位,変換先の単位)

次のSQLでは、10進数10,11に変換しています。

mysql> SELECT CONV(10,10,16);
+----------------+
| CONV(10,10,16) |
+----------------+
| A              |
+----------------+
1 row in set (0.00 sec)

mysql> SELECT CONV(11,10,16);
+----------------+
| CONV(11,10,16) |
+----------------+
| B              |
+----------------+
1 row in set (0.00 sec)