2012-02-23 17 views
1

我想知道是否可以排除由「之間」定義的範圍內的值。排除mysql查詢中由「between」定義的值範圍內的值

下面是一個例子:

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

我想從這個範圍中排除,例如,值「AM」 有一小段路,以獲得此或我需要的範圍分成兩個不同的如下?

... 
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

就先放你更嚴格的情況下:

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

如果「AM」然後,因爲這種情況是第一次在聲明中,其將採取行動,即使第二種情況也符合「AM匹配」。

1

您可以:

... 
WHEN (left(name,2) between 'AA' and 'AZ') AND (left(name,2) <> 'AM') 
    then 'HALLO' 
...