考慮鳴叫大衆替換字符串在MySQL
id tweet
------------------------------------------------------
1 alcoa inc stock analysis
2 bullrider has added alcoa inc to portfolio
3 caterpillar annual results
4 more at http://bit.ly/d3423 on caterpillar
5 making apple inc profits
的下表我想與指定的標籤,以取代公司名稱,具體如下:
id tweet
------------------------------------------------------
1 {COMPANY|AA} stock analysis
2 bullrider has added {COMPANY|AA} to portfolio
3 {COMPANY|CAT} annual results
4 more at http://bit.ly/d3423 on {COMPANY|CAT}
5 making {COMPANY|AAPL} profits
現在我有以下查詢:
UPDATE
tweets
SET
tweet = REPLACE(tweet, 'alcoa inc', '{COMPANY|AA}')
WHERE
tweet LIKE '% alcoa inc %'
OR
tweet LIKE 'alcoa inc %'
OR
tweet LIKE '% alcoa inc'
我有兩個問題,雖然:
- 沒有更好的方法來捕捉所有可能的「alcoa inc」實例嗎?
- 是否有可能在SQL中編寫一個用於多個替換的數組(在SQL中,而不是在PHP中)。這裏。我的意思是在SQL中定義類似於
array("alcoa inc" => "{COMPANY|AA}", "caterpillar" => "{COMPANY|CAT}", "apple inc" => "{COMPANY{AAPL}")
的東西,並在SQL中循環以進行批量替換。
您的幫助表示讚賞:-)
你爲什麼不只是使用'鳴叫LIKE「% alcoa inc%''? – Lamak 2012-04-23 19:29:38
我猜想它是不匹配的,例如'balcoa inc'。 – mellamokb 2012-04-23 19:30:33
究竟是什麼mellamokb說 – Pr0no 2012-04-23 19:31:07