このトピックでは、CONV関数を使用して数値または文字の基数変換を実行する方法について説明します。
制限事項
この関数は、Ververica Runtime (VVR) 3.0.0 以降を使用する Realtime Compute for Apache Flink でのみサポートされています。
CONV() 関数は 64 ビット精度で動作します。
構文
VARCHAR CONV(BIGINT number, INT FROM_BASE, INT TO_BASE)
or
VARCHAR CONV(VARCHAR number, INT FROM_BASE, INT TO_BASE)入力パラメーター
パラメーター | データ型 | 説明 |
number | BIGINT または VARCHAR | 変換する数値。このパラメーターの値は、STRING または NUMBER データ型です。 説明 number パラメーターの値が NULL または無効な文字の場合、NULL が返されます。 |
FROM_BASE | INT | 数値の現在の基数。有効な値: [2, 36]。 |
TO_BASE | INT | 数値の変換先の基数。正の有効な値: [2, 36]。負の有効な値: [-36, -2]。 |
例
テストデータ
id(INT)
x(BIGINT)
y (VARCHAR)
1
12
'12'
2
10
'10'
3
0
'test'
4
NULL
NULL
テストステートメント
SELECT id, conv(x, 10, 16) as var1, conv(y, 10, 2) as var2 FROM T1;テスト結果
id(INT)
var1(VARCHAR)
var2(VARCHAR)
1
C
1100
2
A
1010
3
0
NULL
4
NULL
NULL