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

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

В Oracle Database, NVL() функцията ни позволява да заменим нулеви стойности с друга стойност.

Синтаксис

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

NVL(expr1, expr2)

Ако expr1 е нула, след това expr2 се връща. В противен случай expr1 се връща.

Пример

Ето пример за демонстрация:

SELECT NVL(null, 'Fish')
FROM DUAL;

Резултат:

Fish

И ето какво се случва, когато първият аргумент е ненулева стойност:

SELECT NVL('Brocoli', 'Fish')
FROM DUAL;

Резултат:

Brocoli

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

Извикването на функцията без предаване на аргументи води до грешка:

SELECT NVL()
FROM DUAL;

Резултат:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

И предаването на твърде много аргументи също води до грешка:

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

Резултат:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

NVL2() Функция

Като алтернатива можете да използвате NVL2() функция, която ви позволява да зададете различна стойност, която да върнете, в случай че първият аргумент не е нулев.


  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 12c Standard Edition на Windows 10 Professional

  2. възможно ли е да има генератор на буквено-цифрова последователност в sql

  3. FNDCPASS &AFPASSWD

  4. Прекалено сложна обработка на oracle jdbc BLOB

  5. Разгръщане на множество изчислителни екземпляри на Oracle, използвайки пул от екземпляри и terraform