cómo capturar valores NULL utilizando la statement de caso

aquí en esta consulta quiero replace los valores en Person.Contact de la database de Adventureworks con algunos valores nuevos. La siguiente statement de caso de consulta está funcionando bien para otros valores, pero no puedo cambiar los valores que están en NULL. Estoy usando SQL Server. Cualquier ayuda es apreciada.

 select contactid, Title, FirstName, MiddleName,
 caso MiddleName
 cuando 'R.'  luego 'Robert'
 cuando 'B.'  luego 'Ofertas'
 cuando 'J.'  luego 'John'
 cuando es nulo, entonces 'Nuevo nombre'
 otro 'No Name'
 final, Apellido de la persona.Contacto

Usaría la function ISNULL – devolverá el valor dado si el campo es NULL:

select contactid,Title,FirstName,MiddleName, case ISNULL(MiddleName, 'NULLVALUE') when 'R.' then 'Robert' when 'B.' then 'Bids' when 'J.' then 'John' when 'NULLVALUE' then 'New Name' else 'No Name' end, LastName from Person.Contact 
 case when MiddleName is null then ... when MiddleName = 'R' then ... end 

Perdón por publicar 7 años después, pero he estado tratando de encontrar una solución para Interbase / Firebird y esta publicación sigue apareciendo. Ninguna de las soluciones aquí funciona porque no hay ISNULL, así que pensé que ayudaría a cualquier otra persona que venga a searchla:

 select contactid,Title,FirstName,MiddleName, case COALESCE(MiddleName, 'NULLVALUE') when 'R.' then 'Robert' when 'B.' then 'Bids' when 'J.' then 'John' when 'NULLVALUE' then 'New Name' else 'No Name' end, LastName from Person.Contact