【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)