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

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

В Oracle, BITAND() функцията връща побитово AND от двата му аргумента.

Синтаксис

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

BITAND(expr1, expr2)

Където expr1 и expr2 са от тип NUMBER .

Аргументите трябва да са в диапазона -(2) .. ((2)-1). Ако даден аргумент е извън този диапазон, резултатът е недефиниран.

Също така, ако някой от аргументите е NULL , резултатът е NULL .

Пример

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

SELECT BITAND(6, 3)
FROM DUAL;

Резултат:

   BITAND(6,3) 
______________ 
             2

Нечислови аргументи

Ето какво се случва, когато предоставим нечислов аргумент, който не може да бъде преобразуван в числов тип данни:

SELECT BITAND('six', 3)
FROM DUAL;

Резултат:

Error starting at line : 1 in command -
SELECT BITAND('six',3)
FROM DUAL
Error report -
ORA-01722: invalid number

Нулеви стойности

Ако някой от аргументите е null , резултатът е null :

SET NULL 'null';

SELECT 
    BITAND(null, 3),
    BITAND(6, null)
FROM DUAL;

Резултат:

   BITAND(NULL,3)    BITAND(6,NULL) 
_________________ _________________ 
             null              null 

По подразбиране SQLcl и SQL*Plus връщат празно пространство всеки път, когато null възниква в резултат на SQL SELECT изявление.

Можете обаче да използвате SET NULL за да посочите различен низ, който да бъде върнат. Тук посочих, че низът null трябва да бъдат върнати.

Неправилен брой аргументи

Извикване на BITAND() без подаване на аргументи връща грешка:

SELECT BITAND()
FROM DUAL;

Резултат:

Error starting at line : 1 in command -
SELECT BITAND()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

И предаването на грешен брой аргументи води до грешка:

SELECT BITAND(1, 2, 3)
FROM DUAL;

Резултат:

Error starting at line : 1 in command -
SELECT BITAND(1, 2, 3)
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. СЪЗДАЙТЕ Oracle процедура

  2. Проста рекурсивна заявка в Oracle

  3. Oracle позволява ли опцията за четене без ангажимент?

  4. Скрити функции в Oracle

  5. Как да декларирате потребителско дефинирано изключение с помощта на променлива за изключение в базата данни на Oracle