MySQLバッチは特定のフィールドのスペースを削除します

MySQLバッチは特定のフィールドのスペースを削除します

Mysql で特定のフィールドからスペースを一括削除する方法はありますか?文字列の前後のスペースだけでなく、文字列の途中のスペースも削除したい。その答えは、MySQL 独自の replace 関数を使用して replace することです。trim 関数もあります。

(1)MySQLの置換関数

構文: replace(object,search,replace)

意味: オブジェクト内の検索のすべての出現をreplaceで置換する

例: ニュース テーブルのコンテンツ フィールドのスペースをクリアします。 update `news` set `content`=replace(`content`,' ','');

(2)MySQLトリム関数

構文: trim([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

次の例は、次のことを示しています。

mysql> TRIM('phpernote')を選択します。 
-> 'phpernote' 
mysql> SELECT TRIM(LEADING 'x' FROM 'xxxphpernotexxx'); 
-> 'phpernotexxx' 
mysql> SELECT TRIM(BOTH 'x' FROM 'xxxphpernotexxx'); 
-> 'phpernote' 
mysql> SELECT TRIM(TRAILING 'xyz' FROM 'phpernotexxyz'); 
-> 'phpernotex' 

MySQL データベースにデータを挿入する際、不注意により、テキスト列のいくつかの行の前に余分なスペースがありました。強迫性障害のため、また将来起こりうる問題を避けるために、このスペースを削除することにしました。インターネットで見つけた方法のほとんどは、直接置換を使用するものでした。

更新の例
SET col = replace(col, ' ', '')
WHERE col を '^ ' に置き換えます。

この方法は行頭のスペースは削除できますが、単語を区切るために使用される列内の文字間のスペースも削除され、大きなテキストが連結されるため、実行可能ではありません。

その後、置換を使用するときに正規表現を使用して一致させることができるかどうかを確認したいと思いました。しばらく調べた後、それは実現不可能であることがわかりました。

最後に、比較的シンプルで実現可能と思われる方法を思いつきました。

まず、CONCAT() を使用して、スペースのある行の先頭に 'x' 文字を追加します。

更新の例
SET col = CONCAT('x', col)
WHERE col 正規表現 '^ ';

これにより、行の先頭に 2 つの文字「x」が追加されます。

次に、REPLACE を使用して 2 つの余分な文字を一緒に削除します。

更新の例
SET col = REPLACE(col, 'x', '') を設定します。
WHERE col 正規表現 '^x ';

要約する

上記は、MySQL の特定のフィールドからスペースを一括で削除する方法についての説明です。お役に立てれば幸いです。興味のある方は、MySQL の変数の宣言とストアド プロシージャの分析、比較的重要ないくつかの MySQL 変数、MySQL データベース開発仕様 [推奨] などを参照してください。ご質問がございましたら、いつでもメッセージを残していただければ一緒にご相談させていただきます。

以下もご興味があるかもしれません:
  • フィールドの内容の一部を置き換えるには、mysql で replace を使用します。
  • MySQL の replace into ステートメントの使用方法の詳細な説明
  • MYSQL REPLACE および ON DUPLICATE KEY UPDATE ステートメントによる問題解決の例
  • 重複キー更新におけるMySQLのReplace intoとInsert intoの本当の違い
  • MYSQL バッチ置換における置換構文の使用の詳細な説明

<<:  Linux で SSH 経由でリモート ファイルシステムをマウントする方法の詳細な説明

>>:  js ドラッグ アンド ドロップ テーブルでコンテンツ計算を実現する

推薦する

【HTML要素】画像の埋め込み方法

img 要素を使用すると、HTML ドキュメントに画像を埋め込むことができます。画像を埋め込むには、...

HTMLタグオーバーフロー処理アプリケーション

CSSを使用してスクロールバーを変更する1.コンテンツがオーバーフローした場合のオーバーフロー設定水...

CSSのマッチング問題を解決する

問題の説明ご存知のとおり、CSS を記述する場合、HTML のクラスの定義または ID の定義に従っ...

Node.jsを使用してホットリロードページを実装する方法の詳細な説明

序文少し前に、browser-sync+gulp+gulp-nodemon を組み合わせて、本番環境...

操作タイムアウトがないときにMySQLサーバーがアクティブに切断される問題を解決します

MySQL サービスを使用する場合、通常の状況では、MySQL のタイムアウト設定は 8 時間 (2...

ElementUI ページネーション コンポーネントの使い方 Vue でのページネーション

ElementUIページングコンポーネントPagination in Vueの使用は参考になります。...

MySQL 結合バッファの原理

目次1. MySQL 結合バッファ2. JoinBufferCacheストレージスペースの割り当て3...

Javascriptのクロージャとアプリケーションの詳細な説明

目次序文1. クロージャとは何ですか? 1.1 クロージャは条件コードを満たす1.2 クロージャ生成...

Vueウォッチの監視方法の概要

目次1. Vueにおけるwatchの役割はその名の通り、監視の役割です。 2. このオブジェクトのプ...

Linux デバイスに空き容量がありません inode の満杯により 500 エラーが発生します

iノードとは何ですか? inode を理解するには、まずファイル ストレージから始める必要があります...

デザイン理論:人の心を理解する方法

<br />かつて、仏印と東坡氏が仏教について雑談していたとき、東坡氏が突然こう言った。...

ウェブデザインと制作に関する科学的原則と提案の要約

<br />ネットワーク設計の分野では、アイトラッキングに関する研究が非常に盛んに行われ...

CSS3 引用のソースと出典をマークする方法

疫病のせいで家にこもりきりで、頭がおかしくなりそうなので、パソコンを起動して頭を働かせてみました。今...

WeChat アプレット uniapp は左スワイプによる削除効果を実現します (完全なコード)

WeChatアプレットuniappは左スワイプで削除効果を実現成果を達成する1. スワイプしてリス...

Vue3 の emitting と attr の違いの分析

目次結論は実践分析拡張機能要約する結論は親コンポーネントでカスタム イベントが定義されている場合、子...