2017-01-30 4 views
0

を交換するための最良の方法:MySQLの - 私は列のいずれに次のテキストを交換する必要があるテキスト

#post {いくつかの数字}

に#の後{一部の数値}

これを行うにはどのような方法が最適ですか。 私はmysqlの正規表現置き換えを発見しました:https://stackoverflow.com/a/38660574/5417374

しかし、もっとマートウェイがあるのだろうかと思います。

+0

'#post {not numbers}'行もありますか? – Nanne

答えて

0

これは1回限りのものですが、あなたの選択した言語で、すべての行を読んで、あなたの選択した言語のrexep関数に置き換えて書き戻すスクリプトを作成します。

通常の場合は、コードでもう一度やりますが、データベースに入力する前に実行します。

sqlでこれを行う必要は特にありません。

+0

私が見る唯一の解決策(レコードの量のために少しは遅いかもしれません - 2百万以上)。 – pwas

0

このクエリを試してください、私は数字として「いくつかの数字」を仮定します。

select concat(substr("#post{123456}", 1, INSTR("#post{123456}",'{')-1),"-",substr("#post{123456}", INSTR("#post{123456}",'{'),length("#post{123456}")-(INSTR("#post{123456}",'{')-1))) 
関連する問題