sql >> Databáze >  >> RDS >> Oracle

Funkce BIN_TO_NUM() v Oracle

V databázi Oracle BIT_TO_NUM() funkce převede bitový vektor na jeho ekvivalentní číslo.

Syntaxe

Syntaxe vypadá takto:

BIN_TO_NUM(expr [, expr ]... )

Kde každý expr představuje bit v bitovém vektoru.

Argumenty mohou být libovolný číselný datový typ nebo jakýkoli nečíselný datový typ, který lze implicitně převést na NUMBER . Každý výraz musí být vyhodnocen jako 0 nebo 1 .

Příklad

Příklad:

SELECT BIN_TO_NUM(1)
FROM DUAL;

Výsledek:

1

V tomto případě binární hodnota 1 představuje číslo 1.

Zde je další:

SELECT BIN_TO_NUM(1, 0)
FROM DUAL;

Výsledek:

2

Nyní udělejme mnohem větší číslo:

SELECT BIN_TO_NUM(1, 0, 1, 1, 1, 0)
FROM DUAL;

Výsledek:

46

Neplatné argumenty

Volání BIN_TO_NUM() s argumenty, které nelze přeložit na NUMBER výsledkem je chyba:

SELECT BIN_TO_NUM('Cat')
FROM DUAL;

Výsledek:

ORA-01722: invalid number

Nulové hodnoty

Pokud je některý argument null , dojde k chybě „nelegální argument“:

SELECT BIN_TO_NUM(null)
FROM DUAL;

Výsledek:

ORA-01760: illegal argument for function

Žádné argumenty?

Volání BIN_TO_NUM() bez argumentů vrátí 0 (nula):

SELECT BIN_TO_NUM()
FROM DUAL;

Výsledek:

0

  1. PostgreSQL - klauzule GROUP BY nebo použít v agregační funkci

  2. SQLite AVG

  3. Vložte data do databáze MySQL

  4. MySQL Select Top N Rows