1

名前の db テーブルから結果を表示したいのですが、a、b、c、d で始まるように、頭文字が A ~ D の名前のみを表示したいと考えています。LIKE a%,b%,c%,d% のように、LIKE 句で複数の値を使用できるのだろうか。それが機能するかどうか、これを達成するためのより適切な方法があるかどうかは疑問です。

4

5 に答える 5

1

最もコンパクトな方法は次のとおりだと思います。

select t.*
from t
where left(name, 1) in ('A', 'B', 'C', 'D')

または、さらに短く:

select t.*
from t
where left(name, 1) between 'A' and 'D';

これらは大文字ですが、比較ではおそらく大文字と小文字が区別されないことに注意してください (MySQL のデフォルト)。

または、やや難解な次のようにして、さらに短くすることもできます。

select t.*
from t
where name >= 'A' and name < 'E';
于 2013-08-02T17:53:40.217 に答える
0
 select t.* from t where name between 'A' and  'E';

動作するはずです

于 2013-08-02T18:54:42.187 に答える
0

私がすぐに理解できる簡単な方法は次

SELECT field_a FROMのとおりです。WHERE field_a like 'a%' OR field_a like 'b%' OR field_a like 'c%' OR field_a like 'd%'

于 2013-08-02T17:43:45.640 に答える