2011-11-05 93 views
1

如何刪除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

+1

請你定義在一個包含字母和數字varchar字段一個「字」的意思。 –

+1

這可能更適合於用來從 –

回答

7

使用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               | 
+------------------------------------------------------------------------+ 
+0

查詢數據庫的任何語言絕對正確:對於mySql,使用「substring()」和「locate()」。我也同意Pekka--根據你的字符串處理的複雜程度,最好用高級語言(如Java,Python或Perl)而不是直接在SQL中完成。 – paulsm4

+0

謝謝Michael! – Muiter

0

SUBSTRING(柱,LOCATE(」」,列)+1)將失敗,一個措辭值,並返回第一(和唯一的詞)。

即使是隻有一個有這將去掉第一個字:

SUBSTRING(first_name, LOCATE(' ', CONCAT(first_name, ' '))+1) 
相關問題