1

Mysql Replace関数は、指定された列または文字列のどこにでも文字列を置換しますが、列/文字列の置換カウントを制限できる他の方法はありますか?

# replace 32 from the string, there are 3 occurance
SELECT REPLACE('32,138,149,145,146,121,134,127,129,120,132,232','32','');

# note: 132,232 converted to 1 and 2
print>>> ,138,149,145,146,121,134,127,129,120,1,2

これを克服する方法は?

4

1 に答える 1

2

干し草の山を「、」でしっかりと連結してから、針「、32」を探し、「、」に置き換えます。

SELECT REPLACE(CONCAT(',','32,138,149,145,146,121,134,127,129,120,132,232',','), ',32,', ',');

さらに、必要に応じて、両端のコンマもトリミングします。

SELECT TRIM(BOTH ',' FROM REPLACE(CONCAT(',','32,138,149,145,146,121,134,127,129,120,132,232',','), ',32,', ','));
于 2012-10-25T10:02:03.587 に答える