Czy tego chcesz?
select coalesce(cast(id as varchar(255)), '')
from #v;
Musisz zamienić całą kolumnę wyników w pojedynczą kolumnę. Jeśli chcesz pustą wartość, to typem jest jakiś ciąg znaków.
W twoich przykładach else id
oznacza, że wynik z case
jest liczbą całkowitą, dlatego otrzymujesz albo 0
lub NULL
.