Mysql 从文本字符串中提取数字

Mysql 从文本字符串中提取数字,mysql,text,numbers,extract,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 Stra

当返回结果时,我有一个包含超链接的文本字符串。该超链接包含一个视频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/###


有什么想法吗?

如果模式相同,您可以使用
子字符串\u 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

我建议在斜线(/)上拆分,然后抓住最后一个下标。请你举个例子好吗?我可能没有解释清楚,“330”是不同的。因此,我需要提取的不仅仅是330,而是“/videos/?”后面的任何数字。是的,它将是
/videos/###
之后的任何数字。因此,上面的查询将返回
/videos/
之后的任何数字。如果我使用上述查询,则只会得到330结果,其他内容不变。例如,在下面的文本字符串中,我想提取'5334'号;“您好,卡斯特罗先生,这里有一个资源可以为您提供在数学教学中使用代数瓷砖的其他想法。多布森女士(在代数中使用操纵符-8:56)”那么您的意思是可能还有其他字符串是数字?如果是这样的话,这些字符串在数字后用一个空格隔开?就像你有
videos/5334(使用操纵符)一样,文本字符串的长度和内容各不相同,但是单词“videos/(在此处插入数字)”后面总是有一个数字,这就是我要提取的数字。例如:“