私が必要としているものをタイトルに凝縮するのは困難でした...ここに行きます。これはSQLServer2008用です。
ここで説明するには長すぎるため、4つの列の値がnullの場合、他の列の中でも特に1の値を表示するSELECTステートメントが必要です。このようなもの。
SELECT name, lastname, p1, p2, p3, p4, "1 if p1,p2,p3 and p4 are all NULL, 0 otherwise" city, st, zip
FROM mytable
問題は、これをコード化するためにどのように変換するかです。「p1、p2、p3、およびp4がすべてNULLの場合は1、それ以外の場合は0」?
私は試した
CASE len(p1+p2+p3+p4) WHEN NULL 1 ELSE 0 END
しかし、それはうまくいきませんでした。私がするときでも
SELECT len(p1+p2+p3+p4) FROM mytable
結果はNULLです。
IF ELSEを試しましたが、SELECTステートメントでは歓迎されないようです。
アイデア?
ありがとう。
みんなありがとう。COALESCEを使わない答えを選んだのは、それが私が理解したものだからです。ここでMSの説明を読んでみました:http://msdn.microsoft.com/en-us/library/ms190349.aspxまだ完全には理解していませんでした。さらに、「null値の少なくとも1つはタイプされたNULL」は私を少し怖がらせた。ありがとうございます。