mysql regex_replace:如何使用正则表达式组替换

时间:2018-05-09 07:27:11

标签: mysql regex

有一张桌子:

| id |      Name       |
|----------------------|
| 1  |test1 test1 test1|
| 2  |test2 test2 test2|

想要选择第一个正则表达式组(使用第一个单词来简化),所以我的查询:

SELECT regexp_replace(name, "^([[:alnum:]]+)[[:space:]].*$","$1") FROM table;

结果:

|test1      |
|test1test2 |

那么结果是如何积累的呢?如何避免它仍然能够使用正则表达式组?

UPD : Mysql版本:8.0.11,MySQL社区服务器 - GPL

1 个答案:

答案 0 :(得分:1)

https://bugs.mysql.com/bug.php?id=90803 - 5月21日:

  

已在8.0.12中修复。

     

REGEXP_RELACE()来自一个结果集行的结果可以结转   到下一行,导致以前的结果积累在   当前行。