2012-08-28 24 views
2

我有一個標籤表。由於一些用戶已經從我們的網站進行復制粘貼的一些標籤與數數發生在年末,就像這樣:從字段中刪除尾隨號碼,使用SQL

Tag1 
Tag1 (5) 
Tag2 
Tag1 (7) 

據我所知,MySQL不支持正則表達式替換,所以我怎麼能刪除這些?

我不想用php做,因爲表很大,我想運行它regulary。

預計最終的結果:

Tag1 
Tag1 
Tag2 
Tag1 

乾杯!

回答

6

您可以通過使用string functions實現這一目標:

SELECT TRIM(SUBSTRING(tag, 1, (CHAR_LENGTH(tag) - LOCATE('(', REVERSE(tag))))) AS new_tag 
FROM table_name; 

SQLFIDDLE DEMO HERE

+0

哇,歡呼聲,應該工作! :) – Kristian

+0

它在某些時候失敗。見http://kristian.ee/share/sql-regex.png 我沒有ide什麼是錯的。 – Kristian

+0

字內多字節字符(UTF-8)失效: http://sqlfiddle.com/#!2/76000/1 – Kristian

相關問題