2012-02-23 10 views
1

"between"で定義された範囲内の値を除外することができるのだろうかと思います。ここでmysqlクエリで "between"で定義された値の範囲内の値を除外します。

は一例です:私はこの範囲から除外したい

... 
WHEN left(name,2) between 'AA' and 'AZ' then 'HALLO' 
... 

は、例えば、値が「AM」 はこれを取得するために短い方法があるか、私は2つに範囲を分割する必要があります次のように別のもの?

... 
WHEN left(name,2) between 'AA' and 'AL' then 'HALLO' 
WHEN left(name,2) between 'AN' and 'AZ' then 'HALLO' 
... 

ありがとうございます。

答えて

2
WHEN left(name,2) between 'AA' and 'AZ' AND NOT left(name,2) = 'AM' then 'HALLO' 
3

ただ、最初にあなたのより制限のケースを置く:それはその後、「AM」を一致する場合、その場合は、声明の中で最初のものであるので、

CASE 
WHEN left(name,2) == 'AM' then 'wohoo' 
WHEN left(name,2) between 'AA' and 'AZ' then 'HALLO' 
END 

を、その作用は、後者の場合にも「AMにマッチしていても、取られます'

1

あなたはそれが可能である:

... 
WHEN (left(name,2) between 'AA' and 'AZ') AND (left(name,2) <> 'AM') 
    then 'HALLO' 
... 
関連する問題