MySQL запрос для извлечения первого слова из поля - PullRequest
33 голосов
/ 27 марта 2009

Я хотел бы запустить запрос, который возвращает первое слово только из определенного поля, в этом поле есть несколько слов, разделенных пробелами, и я полагаю, что для этого может потребоваться выполнить некоторые регулярные выражения? Я знаю, как сделать это, используя несколько способов в PHP, но лучше всего это сделать на стороне базы данных. Любые идеи высоко ценится. Спасибо.

Ответы [ 4 ]

65 голосов
/ 27 марта 2009

SUBSTRING_INDEX: http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index

SELECT SUBSTRING_INDEX(`name`, ' ', 1);
20 голосов
/ 27 марта 2009

Вот, пожалуйста:)

SELECT SUBSTRING_INDEX( `field` , ' ', 1 ) AS `field_first_word`
FROM `your_table`
3 голосов
/ 27 марта 2009
select 
    substring(test_field, 1, instr(test_field, ' ')) 
from 
    test_table
2 голосов
/ 27 марта 2009
SELECT
  SUBSTR(field_name, 1, LOCATE(' ', field_name)) AS first_word
FROM
  table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...