このトピックでは、application/x-www-form-urlencoded MIME 形式の入力文字列を標準文字列に変換する方法について説明します。
制限事項
この関数は、Ververica Runtime(VVR)8.0.8 以降を使用する Realtime Compute for Apache Flink でのみサポートされています。
構文
VARCHAR URL_DECODE(VARCHAR input)
VARCHAR URL_DECODE(VARCHAR input, VARCHAR encoding)入力パラメーター
パラメーター | データ型 | 説明 |
input | VARCHAR | 入力文字列。 |
encoding | VARCHAR | デコード形式。GBK や UTF-8 など。このパラメーターを設定しない場合、デフォルト値の UTF-8 が使用されます。このパラメーターはオプションです。 |
入力パラメーターに無効な値が含まれている場合、デコードは失敗し、NULL が返されます。
デコード形式はエンコード形式と同じである必要があります。そうでない場合、データの解析に失敗する可能性があります。
例 1
テストデータ
表 1 T1
input
input(VARCHAR)
1
http://calcite.apache.org
2
https%3A%2F%2Fcalcite.apache.org
3
http%3A%2F%2Ftest%3Fa%3Db%26c%3Dd
4
http%3A%2F%2F%E4%BD%A0%E5%A5%BD
5
test
6
https%%3A%2F%2Fcalcite.apache.org
テストステートメント
SELECT id, URL_DECODE(input) AS `value` FROM T1;テスト結果
id (INT)
value (VARCHAR)
1
https://calcite.apache.org
2
https://calcite.apache.org
3
http://test?a=b&c=d
4
http://Hello
5
test
6
NULL
例 2
テストデータ
表 1. T2
id (INT)
input(VARCHAR)
encoding(VARCHAR)
1
https%3A%2F%2Fcalcite.apache.org%
UTF-8
2
https%3A%2F%2Fcalcite.apache.org
gb2312
テストステートメント
SELECT id, URL_DECODE(input, encoding) AS `value` FROM T2;テスト結果
id (INT)
value (VARCHAR)
1
NULL
2
http://Hello
参照
Realtime Compute for Apache Flink でサポートされている組み込み関数の詳細については、「サポートされている関数」をご参照ください。