Leí todas las respuestas aquí y me tomó un tiempo averiguar qué estaba pasando. Lo siguiente se basa en la respuesta de Moe Sisko y algunas investigaciones relacionadas
Si su consulta SQL no devuelve ningún dato, no hay un campo con un valor nulo, por lo que ni ISNULL ni COALESCE funcionarán como usted desea. Al usar una subconsulta, la consulta de nivel superior obtiene un campo con un valor nulo, y tanto ISNULL como COALESCE funcionarán como usted quiere / espera que lo hagan.
Mi consulta
select isnull(
(select ASSIGNMENTM1.NAME
from dbo.ASSIGNMENTM1
where ASSIGNMENTM1.NAME = ?)
, 'Nothing Found') as 'ASSIGNMENTM1.NAME'
Mi consulta con comentarios
select isnull(
--sub query either returns a value or returns nothing (no value)
(select ASSIGNMENTM1.NAME
from dbo.ASSIGNMENTM1
where ASSIGNMENTM1.NAME = ?)
--If there is a value it is displayed
--If no value, it is perceived as a field with a null value,
--so the isnull function can give the desired results
, 'Nothing Found') as 'ASSIGNMENTM1.NAME'