to_binary
指定されたバイナリ形式 (binary_type
) に基づいて、VARCHAR 文字列をバイナリ値に変換します。サポートされているバイナリ形式は、hex
、encode64
、および utf8
です。binary_type
が指定されていない場合、デフォルトは hex
です。
Syntax
to_binary(str[, binary_type])
Parameters
-
str
: 変換する文字列。必須です。VARCHAR 文字列である必要があります。 -
binary_type
: 変換のためのバイナリ形式。オプションです。hex
(デフォルト):to_binary
は入力文字列を '0123456789abcdef' のすべての文字を含む 16 進文字列と見なします。入力文字列が有効でない場合、空のバイナリが返されます(例外はスローされません)。to_binary
は入力文字列を直接バイナリに変換します。例えば、"abab"
はx'abab'
に変換されます。入力文字列は大文字小文字を区別しません。encode64
:to_binary
は入力文字列を base64 エンコードされた文字列と見なします。入力文字列が有効でない場合、空のバイナリが返されます(例外はスローされません)。to_binary
は base64 エンコードされた文字列をデコードしてバイナリ結果とします。例えば、"YWJhYg=="
はx'abab'
に変換されます。utf8
:to_binary
は入力文字列を変換せずにバイナリ値として扱います。
Return value
VARCHAR 値を返します。
Examples
以下の例では、MySQL クライアントから StarRocks にアクセスする際に --binary-as-hex
オプションが有効であると仮定しています。この方法で、バイナリデータは 16 進表記で表示されます。
mysql> select to_binary('ABAB', 'hex');
+----------------------------------------------------+
| to_binary('ABAB', 'hex') |
+----------------------------------------------------+
| 0xABAB |
+----------------------------------------------------+
1 row in set (0.01 sec)
mysql> select to_binary('U1RBUlJPQ0tT', 'encode64');
+------------------------------------------------------------------------------+
| to_binary('U1RBUlJPQ0tT', 'encode64') |
+------------------------------------------------------------------------------+
| 0x53544152524F434B53 |
+------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select to_binary('STARROCKS', 'utf8');
+----------------------------------------------------------------+
| to_binary('STARROCKS', 'utf8') |
+----------------------------------------------------------------+
| 0x53544152524F434B53 |
+----------------------------------------------------------------+
1 row in set (0.00 sec)
-- 入力文字列がバイナリ形式と一致せず、空のバイナリが返されます。
mysql> select to_binary('U1RBUlJPQ0tT', 'hex');
+--------------------------------------------------------------------+
| to_binary('U1RBUlJPQ0tT', 'hex') |
+--------------------------------------------------------------------+
| 0x |
+--------------------------------------------------------------------+
1 row in set (0.00 sec)