MySQLでBIN()関数と同じ出力を返す関数は?CONV(N,10,2)との関係を解説
MySQLのBIN()関数は、10進数(DECIMAL)の数値を2進数の値に変換し、その結果をバイナリ文字列として返す関数です。実は、この動作はCONV(N,10,2)関数と完全に同一であり、両者はまったく同じ出力を返します。つまり、BIN()関数の代わりにCONV(N,10,2)を使っても、同じ結果が得られます。
CONV(N,10,2)関数の引数の意味
CONV(N,10,2)関数の各引数は以下のような役割を持っています。
- N:変換対象となる数値
- 10:Nの現在の基数(10進数=DECIMAL)を表す
- 2:Nを2進数の文字列に変換することを指定する
実行例
次の例では、BIN()関数とCONV(N,10,2)関数が同じ結果「1111」を返すことを確認できます。
mysql> Select BIN(15); +---------+ | BIN(15) | +---------+ | 1111 | +---------+ 1 row in set (0.00 sec) mysql> Select CONV(15,10,2); +---------------+ | CONV(15,10,2) | +---------------+ | 1111 | +---------------+ 1 row in set (0.00 sec)
このように、10進数の「15」を2進数に変換した場合、BIN(15)でもCONV(15,10,2)でも同じ「1111」が出力されます。用途に応じて使い分けることもできますが、単純に10進数から2進数への変換を行うだけであれば、より直感的なBIN()関数を使用するのが一般的です。
-
MySQLのTRIM()関数とは?文字列から接頭辞・接尾辞を削除する方法を解説
MySQLのTRIM()関数は、文字列から特定の接頭辞(プレフィックス)や接尾辞(サフィックス)、あるいはその両方を取り除くために使用される関数です。不要な記号や余分な文字を文字列の先頭・末尾から除去したい場合に非常に便利です。TRIM()関数の動作は、以下の構文を見るとよく理解できます。構文TRIM([{BOTH | LEADING | TRAILING} [str_to_remove] FROM] string)各引数の意味は次のとおりです。BOTH:文字列の左側(先頭)と右側(末尾)の両方から指定した文字列を削除します。LEADING:先頭(左側)に付いている文字列のみを削除します。TR
-
MySQLでCHAR()関数の逆の処理を行う方法|ASCII()とORD()の違いを解説
MySQLにおいて、CHAR()関数の逆の働きをするのは ASCII() 関数と ORD() 関数です。CHAR() は数値(文字コード)を文字に変換する関数ですが、ASCII() は引数の文字列の左端の文字に対応する数値(ASCIIコード)を返し、ORD() は左端の文字の文字コードを返します。 ASCII()とORD()の違い どちらも文字から数値への変換を行う点は共通していますが、以下のような違いがあります。 ASCII():シングルバイト文字専用。マルチバイト文字を渡すと警告が出て64を返します。 ORD():マルチバイト文字にも対応しており、最初のバイトの値に基づいて計算された文字