¿Es esto lo que quieres?
select coalesce(cast(id as varchar(255)), '')
from #v;
Tienes que convertir toda la columna de resultados en una sola columna. Si desea un valor en blanco, entonces el tipo es una especie de cadena de caracteres.
En tus ejemplos, el else id
significa que el resultado del case
es un número entero, por lo que obtienes 0
o NULL
.