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

推薦する

MySQL btree インデックスとハッシュ インデックスの違い

MySQL では、ほとんどのインデックス (PRIMARY KEY、UNIQUE、INDEX、FUL...

CentOS 8 に htop をインストールする方法のチュートリアル

システムをインタラクティブに監視したい場合は、htop コマンドが最適な選択肢の 1 つです。 ht...

Nginx 仮想ホスト (IP ベース) を構成する 3 つの方法の詳細な説明

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想...

CocosCreator で物理エンジン ジョイントを使用する方法

目次マウスジョイント マウスジョイント距離ジョイント距離ジョイントモータージョイント直動ジョイント変...

Vueはマルチタブコンポーネントを実装します

効果を直接確認するために、リロード、左を閉じる、右を閉じる、その他の機能を閉じるなどの右クリック メ...

Centos 6.9 に MySQL をインストールするための詳細なチュートリアル

1. MySQLがインストールされているかどうかを確認します。次のコードで確認できます。 [root...

element-uiのアップロードコンポーネントでファイルやその他のパラメータを転送する際の問題を分析する

最近、element-ui を統合したプロジェクトで vuethink を使用しました。以前は bo...

JavaScript での && および || 演算子の使用例

目次序文&& 演算子|| 演算子|| 演算子の簡単なデモ章の目的ケース演習(json...

jsのイベントループ機構の解析

序文ご存知のとおり、JavaScript は本質的にシングルスレッドですが、ブラウザは非同期リクエス...

MySQL の制限使用法とページングクエリステートメントのパフォーマンス分析の詳細な説明

使用制限クエリ ステートメントを使用する場合、多くの場合、データの最初の数行または中間行を返す必要が...

CSS 表示テーブルの適応的な高さと幅の問題の解決策

定義と使用法display プロパティは、要素が生成するボックスのタイプを指定します。例示するこの属...

Vue はデータの変更をどのように追跡しますか?

目次背景例誤解 - コールスタックを表示するためにウォッチでブレークポイントを設定する正しいアプロー...

Mysql のいくつかの複雑な SQL ステートメント (重複行のクエリと削除)

1. 重複行を見つける blog_user_relation a から * を選択 WHERE (...

MySQLのファジークエリの要約

1. 一般的な使用法: (1)%で使用する% は 1 つ以上の文字のワイルドカードを表します。たとえ...

CentOS7にPHP7 Redis拡張機能をインストールする方法

導入前回の記事では、Redis をインストールして設定しましたが、まだ終わりではありません。PHP ...