[英]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.