簡體   English   中英

在MySQL中使用regexp選擇和替換數據

[英]select and replace data using regexp in mySql

我是mySQL的新手,我有一個包含水果的表(超過1萬行)。 有水果名稱的記錄是:

apples
apples_2
apples_3
...

我試圖用正則表達式替換蘋果下的_2_3 ...(以消除_\\d ),以便能夠對另一個有預算的列求和。(當時認為按水果分組將完成這項工作)

我正在使用此代碼:

SELECT REGEXP_replace(t.fruit,'_\\d','') AS `fruitName` from Select(.....) t;

我已經嘗試了\\d\\\\d但是它不正確,問題是當它找到相同的數據時,它會像下一個一樣回答。

apples_2 -- applesapples 
apples_2 -- applesapplesapples 
apples_2 -- applesapplesapplesapples 
apples_2 -- applesapplesapplesapplesapples

我想念什么?

那是您正在使用的特定版本中的REGEXP_REPLACE()的錯誤。 請升級(或降級)。

8.0.12的變更日志指出:

一個結果集行的REGEXP_REPLACE()結果可以結轉到下一行,從而導致當前行中先前結果的累積。 (缺陷#27992118,缺陷#90803)

8.0.14已發布。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM