【问题标题】:SQL: Extract specific text from column into new columnSQL:从列中提取特定文本到新列中
【发布时间】:2016-04-07 21:02:14
【问题描述】:

我有一个推文表,其中有一个包含推文文本的文本列。 这些推文中通常有网址。如果有一个 url,我想将它提取到一个新列中,这样我就可以根据它进行查询。

例子:

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

我该怎么做?

我正在使用 MySQL。

【问题讨论】:

  • 您的网址前没有 HTTP?

标签: mysql sql


【解决方案1】:

所以在搜索了几个小时后如何使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 2018-01-10
    • 2019-12-08
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多