考虑下面的推文表
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 中循环遍历它以进行大规模替换。
感谢您的帮助:-)