select decode(type_id, null, 'Unknown', type_id), name, count(*)
from
(
select 'asdf' type_id, 'name1' name from dual union all
select 'asdf' type_id, 'name2' name from dual union all
select null type_id, 'name3' name from dual
) test_table
group by type_id,name;
Sono d'accordo con @sql_mommy che CASE
sarebbe probabilmente un aspetto migliore. Ma non sono d'accordo sull'utilizzo di TechOnTheNet come fonte primaria di informazioni. Di solito stai meglio con la documentazione ufficiale e il page for DECODE è un buon esempio del perché.
DECODE
ha un comportamento strano: "In una funzione DECODE, Oracle considera due null equivalenti." Questo comportamento non è menzionato nell'articolo TechOnTheNet.
fonte
2012-03-15 03:17:41
IFNULL(), COALESC() – wildplasser
DECODE è decodificare (colonna, potentialvalue, risultato, 2ndpotentialvalue, risultato, ... NpotentialValue, risultato, elsevalue) le dichiarazioni di caso sono un po 'più facile leggere così sono preferiti da alcuni. Solo FYI - una grande risorsa per la rapida definizione delle funzioni è TechOnTheNet. http://www.techonthenet.com/oracle/functions/decode.php Puoi facilmente google "decodificare Oracle" e ti porta direttamente alla pagina collegata sopra. Salva i post e aspetta una risposta. – user158017