int型フィールドの値が0ならば、結果を”(空文字)にしたい場合
このような書き方だと、結果は0になります。
(CASE aaa.[コード] WHEN 0 THEN ” ELSE aaa.[コード] END) AS [コード]
これは、データ型の優先順位があって、暗黙的な変換が行われてしまうことから、”が0に変換されてしまうようです。
データ型の優先順位 (Transact-SQL)
次のように優先順位の低いほうにあわせてCASTすれば、期待どおり結果を”にできます。
(CASE aaa.[コード] WHEN 0 THEN ” ELSE CAST(aaa.[コード] AS VARCHAR) END) AS [コード]