2017-03-06 3 views
0

Ich habe eine Oracle-Tabelle mit diesem FeldOracle Database 11g <> Operationen in Oracle für CHAR (1 Byte),

"SYSTEM_HIDDEN" CHAR(1 BYTE), 

Ich habe eine Reihe ID (26119) mit NULL Wert dieses Feldes. Aber wenn ich diese Zeile mit dieser Aussage Abfrage zurückgeben keine Zeilen:

SELECT * FROM T_BOOK WHERE id =26119 and SYSTEM_HIDDEN <> 'T' 

in Oracle Database 11g Enterprise Edition Veröffentlichung 11.2.0.4.0 - 64-Bit-Produktion

+0

https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements005.htm, escpecially Abschnitt "NULL-Werte mit Vergleichsbedingungen" – dlatikay

Antwort

0

NULL Werte verhalten Sonder in allen Vergleichen (außer IS NULL und IS NOT NULL), verglichen mit NULL=, <>, >, <, >=, <= liefert immer NULL die schließlich wie FALSE in Bezug verhält keine Zeilen auswählen.

Verwendung (SYSTEM_HIDDEN <> 'T' or SYSTEM_HIDDEN IS NULL) oder NVL(SYSTEM_HIDDEN, 'F') <> 'T' statt