-1

テーブル構造:

Customer
    ID int not null,
    Name varchar(100) null

クエリ:

SELECT ID, 
  (SELECT CASE WHEN (Name IS NULL AND Name <> '')
          THEN CAST(1 AS BIT)
          ELSE CAST(0 AS BIT) END
   FROM Customer) AS IsNameNullOrWhitespace

これにより、「サブクエリが複数の値を返しました。これは..」です。どうしてこれなの?

4

2 に答える 2

2

サブクエリは必要ないようです。次のようcaseに、をトップレベルselectに埋め込むことができます。

SELECT id, 
       CASE 
         WHEN ( name IS NULL 
                AND name <> '' ) THEN Cast(1 AS BIT) 
         ELSE Cast(0 AS BIT) 
       END AS IsNameNullOrWhitespace 
FROM   customer 
于 2013-03-07T18:33:08.237 に答える
1
SELECT ID, 
Case When IsNull(Name,'') ='' Then CAST(1 AS BIT) Else CAST(0 AS BIT) End  
IsNameNullOrWhitespace
FROM Customer

上記のクエリが必要です。

于 2013-03-07T18:37:17.947 に答える