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 ドラッグ アンド ドロップ テーブルでコンテンツ計算を実現する

推薦する

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Vue.jsフレームワークはショッピングカート機能を実装します

この記事では、ショッピングカートを実装するためのVue.jsフレームワークの具体的なコードを参考まで...

最小限の展開で CentOS8 に OpenStack Ussuri をインストールする方法の詳細なチュートリアル

CentOS8 に最小限のデプロイメントで OpenStack Ussuri をインストールするため...

XHTML CSS ウェブサイトデザインの利点と問題点

XHTML は現在国際的に推奨されている標準的な Web サイト設計言語です。Webjx.com も...

MySQL 8.0.21 の最新バージョンのダウンロード、インストール、設定に関する詳細なチュートリアル

1. ダウンロード1. インストールパッケージをダウンロードするMySQL ダウンロード パス: h...

高度なクローラー - JS 自動レンダリングのための Scrapy_splash コンポーネントの使用

目次1. scrapy_splash とは何ですか? 2. scrapy_splashの役割3. s...

SSHトンネルを使用してMySQLサーバーに接続する方法

序文場合によっては、データベースのイントラネット アドレスしか知らず、イントラネット経由で接続できな...

MySQLのlike演算子の詳細

1. はじめに不明な値または部分的に既知の値をフィルタリングする場合は、like 演算子を使用でき...

コードを通じてHTMLエスケープ文字を識別する方法について説明します

データ内に次のような特徴を持つ「 ' 」などの文字が含まれることがあります。 &# ...

JavaScript のマクロタスクとマイクロタスクの詳細

目次1. マイクロタスクとは何ですか? 2. マクロタスクとは何ですか? 3. 事例3.1 結論4....

Docker での Jenkins と Docker を使用した継続的デリバリー

1. 継続的デリバリーとは何かソフトウェア製品の出力プロセスは、ソフトウェアがいつでもリリースできる...

Nginx ロードバランシングの設定方法

目次Nginx 負荷分散構成Nginx 負荷分散戦略ポーリング(デフォルト)重さip_ハッシュ公正(...

MySQL 8.0 のインストール中に発生した 3 つの小さなエラーの概要

序文これまで当社ではMySQLの5.7シリーズを使用していましたが、バージョン8.0のリリースに合わ...

JavaScript のディープコピーの落とし穴

序文以前、ある会社の面接に行ったとき、面接官から「オブジェクトを深くコピーするにはどうすればよいです...

Dockerを使用してシンプルなJava開発およびコンパイル環境を構築する方法の詳細な説明

Java 言語には多くのバージョンがあります。一般的に使用されている Java 8 に加えて、一部の...