CONV( 数値Z, 数値X, 数値Y ) CONV( 文字列Z, 数値X, 数値Y )
CONV関数を使用することで第一引数の数値または文字列をX進数からY進数へ変換することができます。
mysql> SELECT CONV( 255, 10, 16 ); +---------------------+ | CONV( 255, 10, 16 ) | +---------------------+ | FF | +---------------------+ 1 row in set (0.00 sec)
11進数以上の場合、9より大きい値はアルファベットで表現されます。
例えば16進数の場合、10進数の1 ~ 15までを 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F の一文字で表現します。
そのため、第一引数には文字列を指定することもできます。
mysql> SELECT CONV( 'FF', 16, 10 ); +----------------------+ | CONV( 'FF', 16, 10 ) | +----------------------+ | 255 | +----------------------+ 1 row in set (0.00 sec)
ちなみに特定の変換については、以下のように専用の関数を使用することもできます。
10進数を2進数に変換 : BIN関数
10進数を8進数に変換 : OCT関数
10進数を16進数に変換: HEX関数
mysql> SELECT CONV( 100, 10, 2 ), BIN( 100 ); +--------------------+------------+ | CONV( 100, 10, 2 ) | BIN( 100 ) | +--------------------+------------+ | 1100100 | 1100100 | +--------------------+------------+ 1 row in set (0.01 sec) mysql> SELECT CONV( 100, 10, 8 ), OCT( 100 ); +--------------------+------------+ | CONV( 100, 10, 8 ) | OCT( 100 ) | +--------------------+------------+ | 144 | 144 | +--------------------+------------+ 1 row in set (0.00 sec) mysql> SELECT CONV( 100, 10, 16 ), HEX( 100 ); +---------------------+------------+ | CONV( 100, 10, 16 ) | HEX( 100 ) | +---------------------+------------+ | 64 | 64 | +---------------------+------------+ 1 row in set (0.00 sec)
CEIL | 小数点以下を切り上げる |
CEILING | 小数点以下を切り上げる |
CHAR | 文字コードを文字に変換する |
CHAR_LENGTH | 文字列の文字数を調べる |
COALESCE | リストの中で最初に出現するNULL以外の要素を調べる |
CONCAT | 文字列を結合する |
CONCAT_WS | 文字列を結合する(区切文字を間に挟む) |
CONNECTION_ID | 接続中の接続IDを確認する |
CONV | X進数をY進数へ変換する |
COS | コサインを求める |
COT | コタンジェントを求める |
COUNT | 行数を調べる |
CURRENT_USER | 認証時に使用されたユーザー名を確認する |