2009-12-23 37 views

Trả lời

6

Bạn có thể sử dụng như biểu 'A%', nhưng nếu bạn muốn truy vấn này chạy nhanh cho các bảng lớn, tôi muốn khuyên bạn nên đặt số nút đầu tiên vào trường riêng biệt với loại int nhỏ.

12

Hãy thử điều này:

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

HOẶC tên LIKE "B%" vv ... –

+0

tả, cố định nó. cảm ơn vì đã nhanh chóng bắt được –

+0

Không sao cả. Tiêu đề câu hỏi và nội dung không được thỏa thuận 100%. –

4

Trong mysql sử dụng '^' để xác định bạn muốn kiểm tra char đầu tiên của chuỗi sau đó xác định mảng [] của lettters bạn muốn kiểm tra.

Hãy thử này

SELECT * FROM nghệ sĩ WHERE name REGEXP '^ [abc]'

+1

REGEXP là một từ đồng nghĩa với RLIKE nên câu trả lời này giống như câu trả lời của @ZenOut. – JonP

3

Người ta có thể cũng sử dụng RLIKE như sau

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

hãy thử sử dụng CHARLIST như hình dưới đây:

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

chỉ sử dụng riêng nếu bạn chỉ muốn các giá trị khác biệt. Để đọc về nó Nhấp vào here.

+0

Chỉ tìm thấy các nghệ sĩ có tên “a”, “b” hoặc “c”. –

+0

@DourHighArch không chính xác, cụm từ thông dụng ''^ [abc]'' có nghĩa là bất kỳ tên nào bắt đầu bằng a, b hoặc c. – JonP

+0

@JonP Biểu thức ban đầu được đăng là '[abc]'. Biểu thức mới là bản sao của một bài đăng được đăng cách đây một tháng. –

0

Hãy thử đơn giản này chọn:

select * 
from artists 
where name like "a%" 
Các vấn đề liên quan