次のツイートの表を検討してください
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'
ただし、2つの質問があります。
- 考えられるすべての「alcoainc」インスタンスをキャッチするためのより良い方法はありませんか?
- SQLで複数の置換のための一種の配列を書くことは可能ですか(SQLでは、PHP内からではありません)。ここ。つまり、SQLで次のようなものを定義し、SQL
array("alcoa inc" => "{COMPANY|AA}", "caterpillar" => "{COMPANY|CAT}", "apple inc" => "{COMPANY{AAPL}")
でループして一括置換します。
あなたの助けはありがたいです:-)