SQLServer2005を使用しています。TINYINTフィールドから選択しようとしています。フィールドの値が0の場合、代わりに空の文字列を選択します''。フィールド名はレベルです。これが私がしていることです:
SELECT
[Level] =
Case
t.[Level]
WHEN 0 THEN ' '
ELSE t.[Level]
END
FROM table t
このコードは常に0を返します。問題のトラブルシューティングを試みて、これを試しました。
SELECT
[Level] =
Case
t.[Level]
WHEN 0 THEN 'test'
ELSE t.[Level]
END
FROM table t
そして、私はエラーが発生しましたConversion failed when converting the varchar value 'test' to data type tinyint
したがって、ここに変換の問題があることがわかります。私はもう試した:
SELECT
[Level] =
Case
t.[Level]
WHEN 0 THEN CONVERT(VARCHAR,t.[level])
ELSE t.[Level]
END
FROM table t
しかし、これはもちろん、文字だけで0を返すので、必要なことをまだ実行していません。私はこれを行うためのより良い方法がある可能性が高いと考えていますが、それにアプローチする方法がわかりません。誰かがこれを処理する方法について私にいくつかのアドバイスを与えることができますか?どうもありがとう!