Oracle
 sql >> база данни >  >> RDS >> Oracle

BIN_TO_NUM() Функция в Oracle

В Oracle Database, BIT_TO_NUM() функция преобразува битов вектор в еквивалентен номер.

Синтаксис

Синтаксисът е така:

BIN_TO_NUM(expr [, expr ]... )

Къде всеки expr представлява бит в битовия вектор.

Аргументът/ите могат да бъдат всеки числов тип данни или всеки нечисловен тип данни, които могат да бъдат имплицитно преобразувани в NUMBER . Всеки израз трябва да се оценява на 0 или 1 .

Пример

Ето един пример:

SELECT BIN_TO_NUM(1)
FROM DUAL;

Резултат:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво означава символът SQL Select || означава?

  2. Обяснение на оператора Oracle MINUS

  3. Разлика между клауза WITH и подзаявка?

  4. Oracle:Как да разбера дали има чакаща транзакция?

  5. Oracle:SQL заявка, която връща редове само с числови стойности