TSQL - Cláusula Where com variávens nulas
Esta dica é muito simples mas não deixa de útil, principalmente se estivermos a concatenar strings para casos em que uma variável possa ser nula e queiramos usá-la numa cláusula Where!
Por exemplo:
DECLARE NVARCHAR @SQL = 'SELECT ... FROM ...'
IF(@IDAluno IS NOT NULL)
SET @SQL = @SQL + '' WHERE [IDAluno] = ' + CAST(@IDAluno AS NVARCHAR)
Além de eu próprio já ter feito o exemplo de cima, já vi alguns artigos com uso semelhante.
Uma melhor solução seria:
SELECT ...
FROM ...
WHERE ([IDAluno] = @IDAluno OR @IDAluno IS NULL)
Um obrigado ao Paulo Moreira pelo conselho ;)