2016-04-06 16 views
0

私はつぶやきのテキストを含むテキストカラムを持つつぶやきのテーブルを持っています。 これらのつぶやきにはURLが含まれていることがよくあります。新しい列にURLがある場合はURLを抽出したいので、それに基づいてクエリを作成できます。SQL:カラムから新しいカラムに特定のテキストを抽出する

例:

text:            Url: 
look at this cool picture someimagehost.com/abcd someimagehost.com/abcd 

私はそれをどのように行うのでしょうか?

私はMySQLを使用しています。

+0

あなたのURLの前にHTTPがありません? –

答えて

0

だから、regexpを使ってそれをやり遂げる方法を探して、一致する式を見つけて何も見つからなかったら、文字列関数を使うという提案を見ました。ここに私が思いついた解決策はあります

UPDATE lsir_twitter_tweets as tweets 
SET url = CASE WHEN LOCATE("http", tweets.text) = 0 
THEN " " 
WHEN LOCATE(" ", tweets.text, LOCATE("http", tweets.text)) = 0 
THEN SUBSTRING(tweets.text, LOCATE("http", tweets.text)) 
ELSE SUBSTRING(tweets.text, LOCATE("http", tweets.text), LOCATE(" ", tweets.text, LOCATE("http", tweets.text)) - LOCATE("http", tweets.text)) 
END 
関連する問題