Mysql
 sql >> Database >  >> RDS >> Mysql

WHERE Se la condizione non è soddisfatta, ottenere tutti i valori incluso NULL

Cambia invece la tua condizione in questo:

where (@LastName = 'All' and 1=1) or (LastName = @LastName)

L'idea è che quando @LastName ='Tutto' quindi la tua query non dovrebbe avere alcun filtro. La condizione 1=1 sarà sempre vera e insieme all'altro controllo dovrebbe restituire tutti i risultati. L'altro percorso che la query può intraprendere è il filtraggio in base a un cognome specifico, che dovrebbe escludere definitivamente i valori Null.

Aggiornamento:LA condizione 1=1 è ridondante. Puoi riscrivere la condizione come:

where (@LastName = 'All') or (LastName = @LastName)

Demo