考虑鸣叫大众替换字符串在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