如何删除查询中的第一个单词

时间:2011-11-05 19:49:49

标签: mysql

如何删除MySQL查询中字段的第一个单词? 我试过使用SUBSTRING_INDEX但没有结果。该字段是varchar,可以包含字母和数字

实施例: PWS 20110804 Pos. 04应该成为20110804 Pos. 04

PWS Pos. 04应该成为Pos. 04

PWS AA.0804 Pos. 04应该成为AA.0804 Pos. 04

2 个答案:

答案 0 :(得分:8)

如果您将“单词”视为由单个空格字符绑定,请将SUBSTRING()LOCATE(),一起使用。 LOCATE()将返回第一个参数第一次出现的位置。

SELECT SUBSTRING(column, LOCATE(' ', column)+1);

示例:

mysql> SELECT SUBSTRING('this has four words', LOCATE(' ' ,'this has four words')+1);
+------------------------------------------------------------------------+
| SUBSTRING('this has four words', LOCATE(' ' ,'this has four words')+1) |
+------------------------------------------------------------------------+
| has four words                                                         |
+------------------------------------------------------------------------+

答案 1 :(得分:0)

SUBSTRING(列,LOCATE('',列)+1)将失败,并带有一个措辞值并返回第一个(也是唯一的单词)。

即使只有一个单词,也会删除第一个单词:

SUBSTRING(first_name, LOCATE(' ', CONCAT(first_name, ' '))+1)