例:私のテーブルには、次のテキストを含むテキストフィールドがあります。
速い茶色のキツネは怠惰な犬を飛び越えました。
茶色のキツネを見つけて削除するにはどうすればよいですか。新しいフィールド値は次のとおりです。
クイックは怠惰な犬を飛び越えた。
これはMySQLで行うことができますか?
update `table`
set `field` = replace(`field`, 'brown fox ', '')
where `field` = 'The quick brown fox jumped over the lazy dog.';
編集: @Cranioが指摘したように、期待される結果を得るには、「茶色のキツネ」の両側の間隔を削除する必要があります。
SELECT
CONCAT(
LEFT("the quick brown fox jumps over the lazy dog",
INSTR("the quick brown fox jumps over the lazy dog","brown fox")-1),
MID("the quick brown fox jumps over the lazy dog",
INSTR("the quick brown fox jumps over the lazy dog","brown fox")+
LENGTH("brown fox"))
)
フィールドを使用すると、
SELECT
CONCAT(
LEFT(myField,
INSTR(myField,substring)-1),
MID(myField,
INSTR(myField)+
LENGTH(substring))
)
like
編集を使用してフィールドを取得し、保存して戻すことができます。