2017-09-02 30 views
1

假設我有符號A1,A21, A567等,即字母A帶有一些數字。不過我也有符號AB1AB21選擇符號如「A%」,但也有一些符號是AB

當我要選擇第二種符號,我只是用:

select * from some_table where symbol like "AB%" 

但是如果我要選擇第一種符號,我不知道怎麼辦,因爲如果 我用:

select * from some_table where symbol like "A%" 

它還將包括AB1AB21的東西,我怎麼克服這個問題?

回答

2

只需要添加另外LIKE條件排除條款你不想:

SELECT * FROM some_table WHERE symbol LIKE "A%" AND symbol NOT LIKE 'AB%' 

MySQL還支持正則表達式通過REGEXP運營商一樣,所以我們也可以用它來簡化上述邏輯:

SELECT * FROM some_table WHERE symbol REGEXP 'A[0-9].*' 

演示在這裏:

Rextester

+0

你剛添加的點是什麼意思?沒有它,我不會工作.. – buzhidao

+0

我改變了匹配'A'和任意數字的模式,到匹配'A'後跟一個數字,然後是_anything_。 –