我有情况,我必须使用MySQL从描述中对正则表达式进行子串。
Descritpion:
Lorem ipsum dolor坐下来,精神上的精神。 Sed ac magna enim,eu adipiscing sapien。 Cras lacinia vulputate elit,sed adipiscing felis interdum a。 Cum sociis natoque penatibus et magnis 产妇montes,nascetur ridiculus mus。 Phasellus坐下来 奥奇。 D9801 Quisque dignissim posuere quam,id suscipit nisl scelerisque nec。
D9801 是REGEXP。每个描述都有不同的内容,但我的reg exp应该是:REGEXP 'D[[:digit:]]{4}'
我知道REGEXP只返回true / false值,但是如何才能使查询只返回 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
但现在我知道这是完全错误的...... 任何帮助将不胜感激。
答案 0 :(得分:0)
MySQL不提供此功能。但你可以查看udf。
仔细查看此功能:REGEXP_SUBSTR(text, pattern [,position [,occurence [,mode]]])