Mi pregunta es: ¿puedo hacer las funciones de estas dos selecciones en una sola declaración y deshacerme de la IF?TSQL: Cómo usar la variable que podría ser nula o int en una única selección
DECLARE @recID INT;
--Case 1
SET @recID = null;
--Case 2
--SET @recID = 117;
IF @recID is null
BEGIN
select * from myTable WHERE [myIDcolumn] is null -- works when recID is null
END
ELSE
BEGIN
select * from myTable WHERE [myIDcolumn] = @recID -- works when recID is number
END
No olvide envolver todo entre paréntesis si está encadenando AND en su WHERE. '(...) WHERE myIDcolumn2 = TRUE AND ([myIDcolumn] = @recID o (@recID es nulo y [myIDcolumn] es nulo))' – Ullullu