sql >> Database teknologi >  >> RDS >> Oracle

Er der en bedre Oracle-operatør til at udføre nul-sikker ligestillingskontrol?

Nå, jeg er ikke sikker på, om dette er bedre , men det kan være lidt mere kortfattet at bruge LNNVL , en funktion (som du kun kan bruge i en WHERE klausul), som returnerer TRUE hvis et givet udtryk er FALSE eller UNKNOWN (NULL ). For eksempel...

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

... returnerer alle undtagen rækken, hvor X =1 og Y =2.



  1. Hvordan bruger jeg Psycopg2's LoggingConnection?

  2. Implementering af Secure Multicloud MySQL-replikering på AWS og GCP med VPN

  3. 2 måder at aktivere ordombrydning i SQLite

  4. Hvorfor bruge en JOIN-klausul versus en WHERE-betingelse?