MySQL查询从字段中提取第一个单词

Stu*_*art 37 php mysql sql

我想运行一个只从特定字段返回第一个单词的查询,这个字段有多个用空格分隔的单词,我想我可能需要执行一些正则表达式来完成这个工作吗?我知道如何在PHP中使用几种方法来做到这一点,但这最好在数据库方面进行.任何想法都非常感激.谢谢.

evi*_*uin 73

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

SELECT SUBSTRING_INDEX(`name`, ' ', 1);
Run Code Online (Sandbox Code Playgroud)

  • 使用`SELECT SUBSTRING_INDEX(`name`,'', - 1);`来选择最后一个单词. (5认同)

Bog*_*scu 20

干得好 :)

SELECT SUBSTRING_INDEX( `field` , ' ', 1 ) AS `field_first_word`
FROM `your_table`
Run Code Online (Sandbox Code Playgroud)


Man*_*zzi 5

select 
    substring(test_field, 1, instr(test_field, ' ')) 
from 
    test_table
Run Code Online (Sandbox Code Playgroud)