0

我有一种情况,我必须使用 MySQL 从描述中提取正则表达式。

描述:

Lorem ipsum dolor sit amet, consectetur adipiscing elit。Sed ac magna enim,欧盟 adipiscing sapien。Cras lacinia vulputate elit, sed adipiscing felis interdum a. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus。Phasellus 坐在 amet ante orci。D9801 Quisque dignissim posuere quam,id suscipit nisl scelerisque nec。

其中D9801是正则表达式。每个描述都有不同的内容,但我的 reg exp 应该如下所示:REGEXP 'D[[:digit:]]{4}'

我知道 REGEXP 只返回真/假值,但我怎样才能使查询只返回D9801值?

我试过这样的事情:

SELECT 
SUBSTRING (description, LOCATE(REGEXP 'D[[:digit:]]{4}', description), 5)
FROM (
   SELECT "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac magna enim, eu adipiscing sapien. Cras lacinia vulputate elit, sed adipiscing felis interdum a. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus sit amet ante orci. **D9801** Quisque dignissim posuere quam, id suscipit nisl scelerisque nec." AS description
) temp

但现在我知道这是完全错误的......任何帮助将不胜感激。

4

1 回答 1

0

MySQL 不提供此功能。但是您可以查看udf

仔细看看这个函数:REGEXP_SUBSTR(text, pattern [,position [,occurence [,mode]]])

于 2013-02-13T10:27:05.703 回答