Ho una stored procedure in SQL Server 2000 che esegue una ricerca in base ai valori dei parametri. Per uno dei parametri passati, ho bisogno di un diverso WHERE
clausola seconda del suo valore - il problema è che i 3 valori sarebbero dove MyColumn
WHERE IS NULL, NON È NULL o NESSUNA clausola WHERE in base al valore del parametro SQL Server
IS NULL
IS NOT NULL
ANY VALUE (NULL AND NOT NULL)
(essenzialmente nonWHERE
clausola)
Sto avendo un blocco mentale nel venire con la sintassi corretta. È possibile farlo in una istruzione select senza eseguire alcune derivazioni IF @parameter BEGIN ... END
?
Hai avuto la stessa idea di me. Tuttavia, hai bisogno delle parentesi. – BobbyShaftoe
Grazie Bobby, ho aggiornato la mia risposta –
Non sono sicuro che tu faccia o non * abbia * bisogno * delle parentesi, ma sono un grande difensore delle parentesi in espressioni booleane complesse. Non averli lascia il compilatore per fare l'ordine delle operazioni ed è piuttosto spaventoso, se me lo chiedi. –