- - PR -
NULLの場合はそのまま、NULLでない場合は「1」に変換したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 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を評価することはできないということでしょうか? 何かいい案があるという方はご意見お待ちしております。 | ||||
|
投稿日時: 2007-05-16 14:24
NULLの評価は、「IS NULL」または「IS NOT NULL」では ありませんか? | ||||
|
投稿日時: 2007-05-16 14:35
case when name is null then null else 1 end as name
では? | ||||
|
投稿日時: 2007-05-16 16:07
SQL Serverの場合、ISNULL関数が使えます。
http://msdn2.microsoft.com/ja-jp/library/ms184325.aspx #OracleならNVL | ||||
|
投稿日時: 2007-05-16 16:09
ごめんなさい。逆でした。 | ||||
|
投稿日時: 2007-05-16 16:14
早速のご返信ありがとうございます。
case when name is null then null else 1 end as name ですね。 無事に解決いたしました。ありがとうございました。 |
1