カテゴリ:

変換関数

TO_BINARY

入力式をバイナリ値に変換します。 NULL 入力の場合、出力は NULLです。

こちらもご参照ください:

構文

TO_BINARY( <string_expr> [, '<format>'] )
TO_BINARY( <variant_expr> )

戻り値

返される型は BINARYです。

引数

必須:

文字列式

文字列式です。

オプション:

形式

変換用のバイナリ形式:HEX、 BASE64、または UTF-8( バイナリ入出力 を参照)。デフォルトは、 BINARY_INPUT_FORMAT セッションパラメーターの値です。このパラメーターが設定されていない場合、デフォルトは HEXです。

戻り値

BINARY型の値を返します。

これらの例は、 TO_BINARY が呼び出されたときの出力を示しています。

この例は、 VARCHARBINARY に変換してから元の形式(VARCHAR)に戻す方法を示しています。

テーブルを作成して入力します。

CREATE TABLE binary_test (v VARCHAR, b BINARY);
INSERT INTO binary_test(v) VALUES ('SNOW');

VARCHARBINARY に変換します。

UPDATE binary_test SET b = TO_BINARY(HEX_ENCODE(v), 'HEX');

クエリを実行し、出力を表示します。

SELECT v, HEX_DECODE_STRING(TO_VARCHAR(b, 'HEX')) FROM binary_test;
+------+-----------------------------------------+
| V    | HEX_DECODE_STRING(TO_VARCHAR(B, 'HEX')) |
|------+-----------------------------------------|
| SNOW | SNOW                                    |
+------+-----------------------------------------+

この例は、 UTF-8文字の文字列を BINARY に変換する方法を示しています。デフォルトでは、 SNOWSQL は BINARY 値を16進数の文字列として表示します。 UTF-8および内部 BINARY 形式ではありません。

SELECT TO_BINARY('SNOW', 'utf-8');
+----------------------------+
| TO_BINARY('SNOW', 'UTF-8') |
|----------------------------|
| 534E4F57                   |
+----------------------------+

この例は、出力が16進数を含む文字列であることがより明確になるように、出力を明示的に16進数に変換することを除いて、前の例と同じです。

SELECT TO_VARCHAR(TO_BINARY('SNOW', 'utf-8'), 'HEX');
+-----------------------------------------------+
| TO_VARCHAR(TO_BINARY('SNOW', 'UTF-8'), 'HEX') |
|-----------------------------------------------|
| 534E4F57                                      |
+-----------------------------------------------+