カテゴリ:

文字列とバイナリ関数 (エンコード/デコード)

HEX_DECODE_STRING

16進数でエンコードされた文字列を文字列にデコードします。

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

TRY_HEX_DECODE_STRING

構文

HEX_DECODE_STRING(<input>) 
Copy

引数

input

16進数でエンコードされた文字列の式です。通常、入力は HEX_ENCODE の呼び出しによって作成されます。

戻り値

返される値は文字列(VARCHAR)です。

以下は、16進数のシーケンスに対応するワードにデコードします。

SELECT HEX_DECODE_STRING('536E6F77666C616B65'); -----------------------------------------+ HEX_DECODE_STRING('536E6F77666C616B65') | -----------------------------------------+ Snowflake | -----------------------------------------+ 
Copy

16進数字A~Fは大文字でも小文字でもかまいません。次のステートメントは小文字を使用しますが、前のステートメントと同じ結果を生成します。

SELECT HEX_DECODE_STRING('536e6f77666c616b65'); -----------------------------------------+ HEX_DECODE_STRING('536E6F77666C616B65') | -----------------------------------------+ Snowflake | -----------------------------------------+ 
Copy

これは、 HEX_DECODE_STRING を使用する別の例を示しています。

テーブルとデータを作成します。

CREATE TABLE binary_table (v VARCHAR, b BINARY); INSERT INTO binary_table (v, b) SELECT 'HELLO', HEX_DECODE_BINARY(HEX_ENCODE('HELLO')); 
Copy

クエリを実行して、データを取得できることを示します。

SELECT v, b, HEX_DECODE_STRING(TO_VARCHAR(b)) FROM binary_table; +-------+------------+----------------------------------+ | V | B | HEX_DECODE_STRING(TO_VARCHAR(B)) | |-------+------------+----------------------------------| | HELLO | 48454C4C4F | HELLO | +-------+------------+----------------------------------+ 
Copy