0

MySQL を使用して説明から正規表現をサブストリング化する必要がある状況があります。

説明:

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, nasceturridiculus mus. Phasellus sit amet ante orci. D9801 Quisque dignissim posuere quam, id suscipit nisl scelerisque nec.

D9801は REGEXP ですすべての説明には異なる内容がありますが、正規表現は次のようになります。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

しかし、今ではこれが完全に間違っていることを知っています...どんな助けにも感謝します。

4

1 に答える 1

0

MySQL はこの機能を提供しません。ただし、 udfをチェックアウトできます。

この関数をよく見てください:REGEXP_SUBSTR(text, pattern [,position [,occurence [,mode]]])

于 2013-02-13T10:27:05.703 に答える