sql >> Databáze >  >> RDS >> Oracle

Existuje lepší operátor Oracle, který by provedl nulovou kontrolu rovnosti?

No, nejsem si jistý, jestli je to lepší , ale může být o něco stručnější použít LNNVL , funkce (kterou můžete použít pouze v WHERE klauzule), která vrací TRUE pokud je daný výraz FALSE nebo NEZNÁMÝ (NULL ). Například...

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);

...vrátí všechny kromě řádku, kde X =1 a Y =2.



  1. Vzdálená připojení Mysql Ubuntu

  2. Vraťte aktuální název pracovní stanice, která je připojena k serveru SQL (T-SQL)

  3. Názvy sloupců nabídek Oracle DB

  4. NÁHLED:Rozšíření SentryOne Plan Explorer pro Azure Data Studio