Skip to Main Content

 

Auswahl  

Undokumentierte Funktion zum Abfragen von NULL Werten 

Oracle
PL/SQL:SQL
RDBMS 12.x
12.12.18 (MP)
04.07.23(NN)
PL/SQL , SQL

Passende Schulungen zum Thema

Haben wir uns nicht alle schon mal darüber geärgert, dass auf NULL Spalten nur mit der folgenden Klausel abgefragt werden kann:

SELECT * FROM tab WHERE col IS NULL;
 

Seit Version 10g gibt es eine undokumentierte Funktion (und damit ist sie

leider auf Produktionsdatenbanken nur auf eigene Gefahr einsetzbar).

Die Funktion sys_op_map_nonnull kann zwei NULL Spalten vergleichen.

Beispiel: Alle Zeilen sollen ausgegeben werden, in denen die Spalte

mgr=comm= NULL ist:

select * from scott.emp
where sys_op_map_nonnull(mgr)=sys_op_map_nonnull(comm)
 

Oder, alle Zeilen ausgeben, deren Spalte COMM = NULL ist:

select * from scott.emp
where sys_op_map_nonnull(comm)=sys_op_map_nonnull(NULL);
 

Zum Vergleich: Die offizielle Klausel lautet:

select * from scott.emp
where comm is NULL;

Weitere Interessante Kurs-Tipps zum Thema

Besuchen Sie uns doch bei einer unsere über 50 Oracle Schulungen in München - Unterhaching, oder verfolgen Sie die Training per Videostreaming bequem vom Home Office oder Büro aus.