静的ではないデータベースから特定の「テキスト」を削除することは可能ですか?
静的テキストの場合、「静的テキスト」を「」に置き換えただけです。
実際には、「静的テキスト1 *静的テキスト2」を削除するコマンドが必要なだけなので、
テキスト1からテキスト2までのすべて。
Text1 と text2 は静的ですが、その間のすべてが変更されます。
手伝ってくれてありがとう
静的ではないデータベースから特定の「テキスト」を削除することは可能ですか?
静的テキストの場合、「静的テキスト」を「」に置き換えただけです。
実際には、「静的テキスト1 *静的テキスト2」を削除するコマンドが必要なだけなので、
テキスト1からテキスト2までのすべて。
Text1 と text2 は静的ですが、その間のすべてが変更されます。
手伝ってくれてありがとう
私の理解が正しければ、テーブル内のテキスト値から と の間にUPDATE
あるテキストを削除したいのですが、実際の行はそのままにしておきます。text1
text2
その場合は、 と の組み合わせを使用して、次のことをSUBSTRING()
実行LOCATE()
できUPDATE
ます。
UPDATE your_table SET
field =
CONCAT(
SUBSTRING(field, 1, LOCATE('text1', field) + 5),
SUBSTRING(field, LOCATE('text2', field))
)
WHERE
field LIKE '%text1%text2%'
これはfield
、テキスト "text1" (およびテキスト自体を含む) までの列の最初の部分を取得し、次に、テキストの後(およびテキストを含む)すべてtext1
の列から 2 番目の部分文字列を取得します。field
text2
これら 2 つの値の間のテキストを「変更」したい場合、たとえば を持っていてtext1 some-value text2
、それを にしたいtext1 new-thing text2
場合、上記のクエリを使用して、新しいテキストを真ん中に置くことができます。
UPDATE your_table SET
field =
CONCAT(
SUBSTRING(field, 1, LOCATE('text1', field) + 5),
' new-thing ',
SUBSTRING(field, LOCATE('text2', field))
)
WHERE
field LIKE '%text1%text2%'
「static text1」の後に何かが続き、その後に「static text2」が続くパターンを見つけて、行全体を削除することを求めていると仮定して、試してみてください(myTable
andmyRow
を値に置き換えてください):
SELECT * FROM `myTable` WHERE `myRow` LIKE 'static text1%static text2';
削除する行が返された場合は、delete コマンドを実行できます。
DELETE FROM `myTable` WHERE `myRow` LIKE 'static text1%static text2';