Oracle Databaseでは、BIT_TO_NUM()
関数はビットベクトルを同等の数に変換します。
BIN_TO_NUM(expr [, expr ]... )
expr
ビットベクトルのビットを表します。
引数は、任意の数値データ型、または暗黙的にNUMBER
に変換できる任意の非数値データ型にすることができます。 。各式は0
に評価される必要があります または1
。
SELECT BIN_TO_NUM(1)
FROM DUAL;
結果:
1
この場合、バイナリ値1は数値1を表します。
もう1つあります:
SELECT BIN_TO_NUM(1, 0)
FROM DUAL;
結果:
2
それでは、もっと多くのことをしましょう:
SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL;
結果:
46
BIN_TO_NUM()
の呼び出し NUMBER
に解決されない引数を使用 エラーが発生します:
SELECT BIN_TO_NUM('Cat')
FROM DUAL;
結果:
ORA-01722: invalid number
null
の場合 、「不正な引数」エラーが発生します: SELECT BIN_TO_NUM(null)
FROM DUAL;
結果:
ORA-01760: illegal argument for function
引数はありませんか?
BIN_TO_NUM()
の呼び出し 引数なしで0
を返します (ゼロ):
SELECT BIN_TO_NUM()
FROM DUAL;
結果:
0