2011-08-09 6 views
1

どのように大文字と小文字を区別してフィルタリングしますか?T-Sqlケースでフィルタリングする方法

select * from address 
where streetnum > 1000 only when state = MI otherwise select everything else 

または

select * from address 
where case when state = MI then streetnum > 1000 
+0

嫌い質問に正しく解釈するつもり嫌いLOL –

答えて

2

...

select * from address 
where state <> 'MI' or (state = 'MI' and streetnum > 1000) 
2

addressからすべての行を取得しますが、state'MI'あるときにstreetnum1000よりも大きくなければなりません。

select * from address 
where streetnum > 1000 or state <> 'MI' 

caseを使用する場合は、チェックする値が複数ある可能性があります。

select * 
from address 
where case state 
     when 'MI' then 1000 
     when 'MA' then 1000 
     else 0 
     end < streetnum 

これは、すべての州で同じ値(1000)を使用した場合と同じです。私は正しく、あなたの質問を解釈した場合

select * 
from address 
where streetnum > 1000 or state not in ('MI', 'MA') 
+0

プラスワン。 –

関連する問題