3

こんにちは、Access 用に作成した次のクエリで問題が発生し、正常に動作しています。しかし、SQL 2005 で実行すると、エラーが発生します (キーワード 'IS' 付近の構文が正しくありません)。

私は同様の質問をしてきましたが、私の問題に対する解決策はありませんでした。

アクセス クエリは次のとおりです。

select iif(ISBN IS Null,"1","0") as OK from products 

SQL 2005 バージョンが必要です。

これは基本的なクエリかもしれませんが、SQL は初めてです。

前もって感謝します。

4

2 に答える 2

4

代わりに使用CASEします。

SELECT CASE 
            WHEN ISBN IS Null
            THEN 1
            ELSE 0
       END AS OK 
FROM   products 

ただし、IIFSQL Server 2012 を使用している場合は機能するはずです

アップデート

SELECT CASE 
            WHEN expression1
            THEN 0
            ELSE 
                CASE 
                    WHEN expression2
                    THEN 2
                    ELSE 3
                END
       END AS OK 
FROM   products 
于 2013-01-24T11:22:58.643 に答える
1

CASEを置き換える式が必要になりますIIf()IIF()SQL Server 2005 には機能がありません。

select case when ISBN is null then 1 else 0 end as OK
from products

追加のIIF()ステートメントがある場合は、それらをネストできます。

select 
  case 
     when ISBN is null 
     then 1 
     else 
       case when yourCol = "Value"
            then 2
            else 3
       end 
  end as OK
from products
于 2013-01-24T11:23:40.097 に答える