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

Сумирайте колони с нулеви стойности в оракул

NVL(стойност, по подразбиране) е функцията, която търсите.

select type, craft, sum(NVL(regular, 0) + NVL(overtime, 0) ) as total_hours
from hours_t
group by type, craft
order by type, craft

Oracle има 5 функции, свързани с NULL:

  1. NVL
  2. NVL2
  3. СЛИВАНЕ
  4. NULLIF
  5. LNNVL

NVL :

NVL(expr1, expr2)

NVL ви позволява да замените null (върнато като празно) с низ в резултатите от заявка. Ако expr1 е нула, тогава NVL връща expr2. Ако expr1 не е нула, тогава NVL връща expr1.

NVL2 :

NVL2(expr1, expr2, expr3)

NVL2 ви позволява да определите стойността, върната от заявка въз основа на това дали даден израз е нулев или не. Ако expr1 не е нула, тогава NVL2 връща expr2. Ако expr1 е нула, тогава NVL2 връща expr3.

СЛИВАНЕ

COALESCE(expr1, expr2, ...)

COALESCE връща първия ненулев израз в списъка с изрази. Поне един израз не трябва да е литералът NULL. Ако всички поява на expr се оценяват на null, тогава функцията връща null.

NULLIF

NULLIF(expr1, expr2)

NULLIF сравнява expr1 и expr2. Ако са равни, тогава функцията връща null. Ако те не са равни, тогава функцията връща expr1. Не можете да посочите литерала NULL за израз1.

LNNVL

LNNVL(condition)

LNNVL предоставя кратък начин за оценка на условие, когато един или и двата операнда на условието може да са нулеви.

Повече информация за Oracle SQL функции



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранената процедура на Spring - резултатите, които се връщат от процедурата, винаги са празни

  2. Как да създадете спул файл на sql sql

  3. В oracle, как да променя сесията си да показва UTF8?

  4. Получаване на изход от dbms_output.get_lines с помощта на JDBC

  5. Как да преименувате колона на таблица в Oracle 10g