- ベストアンサー
あるカラムを対象に、Nullと空文字をゼロとして抽出したい
SQL server 2005についての質問です。 ISNULL関数を使うと、Nullをゼロとして取り出せることがわかりました。 しかし、空文字をゼロとして取り出すことはできないようでした。 Nullと空文字が入り混じったカラムを対象に、Nullだけでなく空文字もゼロとして取り出す関数などはあるでしょうか? 以上、どうぞよろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
空文字が存在しうるのはvarchar,charなどの文字列型のフィールドだけですが、ゼロとして取り出すんですね。 (普通にはISNULL(FIELD,'')として、両方空文字として取り出すことが多いですが) ともかく、以下のようにすれば目的は満たせます。 SELECT ISNULL(NULLIF(FIELD,''),'0') FROM TABLE
その他の回答 (1)
- khazad-lefty
- ベストアンサー率44% (296/668)
回答No.2
参考意見として。 もしこのSQLの結果をVBなどの言語を使って取り出しているなら、 取り出し側で「Nullや空文字なら0を返す」関数を作ってそれを通すという方法もあります。
質問者
お礼
khazad-leftyさん なるほど。。 解決策の候補として、参考にさせていただきます。 ご回答ありがとうございました。
お礼
jamshid6さん ISNULL関数とNULLIF関数を組み合わせるんですね。 大変参考になりました! ご回答ありがとうございました。