Select a column if other column is null
select COALESCE ( ProgramID , InterimProgramID ) as 'ProgramID'
You need the ISNULL function.
SELECT ISNULL(a, b)
b
gets selected if a
is null.
Also, you can use the WHEN/THEN select option, lookup in BOL. Essentially: its c switch/case block meets SQL.
You can use either the ISNULL function or the COALESCE function. They both do pretty much the same thing, however ISNULL
only takes two parameters and COALESCE
takes multiple parameters (returning the first non-null it encounters). Both try the first param, then the second, (and COALESCE continues on)
DECLARE @IAMNULL VARCHAR
DECLARE @IAMNOTNULL VARCHAR
SET @IAMNOTNULL = 'NOT NULL'
SELECT ISNULL(@IAMNULL, @IAMNOTNULL)
--Output: 'NOT NULL'
DECLARE @IAMNULLALSO VARCHAR
SELECT COALESCE(@IAMNULL, @IAMNULLALSO, @IAMNOTNULL)
--Output: 'NOT NULL'