こんにちは、テキスト文字列の@記号を含む行を削除する方法があるかどうかを知りたいと思います。@記号を含む行を削除する
私はすでに試した:
DELETE FROM FilteredJobs WHERE Description LIKE '%[@]%'
が、このタスクを追跡するために、他のMySQL関数が存在しますので、これが0行(私は4がある知っている)
私はこれは、MySQL内で行わ取得する必要がありますを返します。
こんにちは、テキスト文字列の@記号を含む行を削除する方法があるかどうかを知りたいと思います。@記号を含む行を削除する
私はすでに試した:
DELETE FROM FilteredJobs WHERE Description LIKE '%[@]%'
が、このタスクを追跡するために、他のMySQL関数が存在しますので、これが0行(私は4がある知っている)
私はこれは、MySQL内で行わ取得する必要がありますを返します。
はこれを試してみてください:
DELETE FROM FilteredJobs WHERE Description LIKE '%@%'
あなたがシンボルに含む正規表現の文字クラスを使用しようとしていた表示されます。これはLIKE
では機能しませんが、REGEXP
で動作するはずです。ここで
DELETE FROM FilteredJobs WHERE Description REGEXP '[@]'
あなたのアプローチはREGEXP
を使用してうまくいくことを示すデモです:
まあ、これは完璧な答えではないかもしれませんが、確実にすることができ、私は考えることができ、何かであります試してみました:
UPDATE FilteredJobs SET Description = REPLACE(Description, '@', 'TO_BE_DELETED');
そして、あなたは、通常のDELETEクエリを発射することができます
DELETE FROM FilteredJobs WHERE Description LIKE '%TO_BE_DELETED%';
あなたは、それがメイン値のサブ文字列の位置を返しますlocate
を使用することができます ...
DELETE FROM FilteredJobs WHERE locate('@', Description) > 0;
角括弧は何のためにありますか? – Barmar
'DELETE FROM FilteredJobs WHERE説明LIKE '%@%'' – Damith