@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

NULLの場合はそのまま、NULLでない場合は「1」に変換したい

1
投稿者投稿内容
EarlyHero
常連さん
会議室デビュー日: 2007/03/16
投稿数: 37
お住まい・勤務地: 福岡県
投稿日時: 2007-05-16 14:19
EarlyHeroです。

SQLServer2000を使用してクエリを作成しています。
基本的なことかもしれませんが調べてみても分からないので
ご意見いただきたいと思います。

件名にもありますように、NULLの場合はそのままNULLで、NULLでない場合は「1」
に変換してデータを取得したいと考えています。
例:列[Name]に対して、以下のように変換してデータを取得したいです。
Name Name
太郎 → 1
花子 → 1
次郎 → 1
NULL → NULL

「CASE Name WHEN NULL THEN NULL ELSE 1 END AS Name」
としても全て1で変換されてしまいます。
NULLを評価することはできないということでしょうか?

何かいい案があるという方はご意見お待ちしております。
YASUYOKA
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 71
投稿日時: 2007-05-16 14:24
引用:

EarlyHeroさんの書き込み (2007-05-16 14:19) より:
NULLを評価することはできないということでしょうか?



NULLの評価は、「IS NULL」または「IS NOT NULL」では
ありませんか?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-05-16 14:35
case when name is null then null else 1 end as name
では?
まさる
ベテラン
会議室デビュー日: 2006/12/21
投稿数: 59
お住まい・勤務地: 越後の中ほど
投稿日時: 2007-05-16 16:07
SQL Serverの場合、ISNULL関数が使えます。
http://msdn2.microsoft.com/ja-jp/library/ms184325.aspx

#OracleならNVL
まさる
ベテラン
会議室デビュー日: 2006/12/21
投稿数: 59
お住まい・勤務地: 越後の中ほど
投稿日時: 2007-05-16 16:09
引用:

まさるさんの書き込み (2007-05-16 16:07) より:
SQL Serverの場合、ISNULL関数が使えます。
http://msdn2.microsoft.com/ja-jp/library/ms184325.aspx

#OracleならNVL



ごめんなさい。逆でした。
EarlyHero
常連さん
会議室デビュー日: 2007/03/16
投稿数: 37
お住まい・勤務地: 福岡県
投稿日時: 2007-05-16 16:14
早速のご返信ありがとうございます。

case when name is null then null else 1 end as name
ですね。

無事に解決いたしました。ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)