2009-12-23 13 views

cevap

6

Sen 'A%' ifadesi gibi kullanabilirsiniz, ancak bu sorgu büyük tablolar için hızlı çalıştırmak istiyorsanız ilk düğmenin numarasını koymanızı öneriyoruz küçük int tipi ile ayrı bir alana.

12

bu deneyin:

select * from artists where name like "A%" or name like "B%" or name like "C%" 
+2

VEYA adı GİBİ "B%" vb ... –

+0

hoppala, düzelttim. hızlı yakalamak için teşekkürler –

+0

Sorun değil. Anlaşmada soru başlığı ve beden% 100 değil. –

4

Mysql'de, dizgenin ilk karakterini kontrol etmek istediğinizi belirlemek için '^' kullanın ve kontrol etmek istediğiniz lüperlerin dizisini tanımlayın. adı regexp '^ [abc]'

+1

REGEXP, RLIKE kelimesinin eşanlamlısıdır; bu nedenle bu cevap, @ZenOut tarafından verilen ile aynıdır. – JonP

3

biri de

SELECT * FROM artists WHERE name RLIKE '^[abc]'; 
0

charlist kullanmayı deneyin parametreleri substr yani üç dikkate (str, pos, len) alır:

select distinct name from artists where name RLIKE '^[abc]'; 

yalnızca farklı değerlere sahip olmak istiyorsanız farklı kullanır. Hakkında okumak için here'a tıklayın.

+0

Sadece “a”, “b” veya “c” isimli sanatçıları bulur. –

+0

Yanlış @DourHighArch, '^^abc' ifadesi, a, b veya c ile başlayan herhangi bir ad anlamına gelir. – JonP

+0

@JonP Orijinal olarak gönderilen ifade, [abc] 'idi. Yeni ifade, bir ay önce yayınlanmış olanın bir kopyası. –

0

bu basit seçmek deneyin:

select * 
from artists 
where name like "a%" 
İlgili konular