sql >> Databasteknik >  >> RDS >> Oracle

Finns det en bättre Oracle-operatör för att göra nollsäker jämställdhetskontroll?

Tja, jag är inte säker på om det här är bättre , men det kan vara lite mer kortfattat att använda LNNVL , en funktion (som du bara kan använda i en WHERE sats) som returnerar TRUE om ett givet uttryck är FALSE eller OKÄND (NULL ). Till exempel...

WITH T AS
(
    SELECT    1 AS X,    1 AS Y FROM DUAL UNION ALL
    SELECT    1 AS X,    2 AS Y FROM DUAL UNION ALL
    SELECT    1 AS X, NULL AS Y FROM DUAL UNION ALL
    SELECT NULL AS X,    1 AS Y FROM DUAL
)
SELECT
    *
FROM
    T
WHERE
    LNNVL(X <> Y);

... returnerar alla utom raden där X =1 och Y =2.



  1. Hur man optimerar MySQL-prestanda med MySQLTuner

  2. JSON_OBJECT() Funktion i Oracle

  3. Hur man trunkerar tabell i MySQL

  4. Hur man tar bort rätt stoppning på dagnamnet i Oracle