Това ли искате?
select coalesce(cast(id as varchar(255)), '')
from #v;
Трябва да превърнете цялата колона с резултати в една колона. Ако искате празна стойност, тогава типът е някакъв вид символен низ.
Във вашите примери, else id означава, че резултатът от case е цяло число, поради което получавате или 0 или NULL .