2009-03-27 32 views
27

Tôi muốn chạy truy vấn trả về từ đầu tiên chỉ từ một trường cụ thể, trường này có nhiều từ được phân tách bằng dấu cách, tôi cho rằng tôi có thể cần thực hiện một số công việc regex để hoàn thành việc này? Tôi biết làm thế nào để làm điều này bằng cách sử dụng một vài cách trong PHP nhưng điều này tốt nhất nên được thực hiện ở phía cơ sở dữ liệu. Bất kỳ ý tưởng nào được đánh giá cao. Cảm ơn.Truy vấn MySQL để trích xuất từ ​​đầu tiên từ một trường

Trả lời

17

Ở đây bạn đi :)

SELECT SUBSTRING_INDEX(`field` , ' ', 1) AS `field_first_word` 
FROM `your_table` 
2
SELECT 
    SUBSTR(field_name, 1, LOCATE(' ', field_name)) AS first_word 
FROM 
    table 
+0

Cần thêm -1 hoặc bạn có thêm không gian. –

2
select 
    substring(test_field, 1, instr(test_field, ' ')) 
from 
    test_table 
Các vấn đề liên quan