从文本字符串中提取数字

时间:2015-10-20 13:50:33

标签: mysql text numbers extract

返回结果时,我有一个包含超链接的文本字符串。该超链接包含一个视频ID号,这是我想要最终提取的。 文本字符串的长度可以不同,因此我想要提取的数字之前和之后的字母数量会有所不同。 这是一个例子:

> Hello Mrs. Sinatra, Here is an email that supports practices for Danielson Domain:https://www.pd360.com/#resources/videos/330 (Utilize Effective Strategies - 11:23)

我想要提取的数字是330,它始终如下; /videos/###

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果模式相同,您可以使用substring_index某些内容作为

mysql> select substring_index('https://www.pd360.com/#resources/videos/330','/videos/',-1) as id ;
+-----+
| id  |
+-----+
| 330 |
+-----+
1 row in set (0.01 sec)

如果/videos/330之后有更多字符串,如果它们被' '分隔,那么您可以使用

mysql> 
select 
 substring_index(
    substring_index(
      'pd360.com/index.html#resources/videos/5334 (Using Manipulatives in Algebra - 8:56)"','/videos/',-1
     ),' ',1
  ) as id ;
+------+
| id   |
+------+
| 5334 |
+------+

您可以使用表格中的列名更改硬编码字符串,例如

select 
substring_index(substring_index(col_name,'/videos/',-1),' ',1) as id
from table_name