如何删除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
答案 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)