Mysqlクエリ条件で文字列の末尾にスペースがあっても一致しない問題の詳細な説明

Mysqlクエリ条件で文字列の末尾にスペースがあっても一致しない問題の詳細な説明

1. テーブル構造

テーブル人

id名前
1あなた
2あなた(スペース)
3あなた(スペース2つ)

2. クエリと結果

`name` = ? の場合、 person から * を選択します。

関係なく? =「you + いくつかのスペース」と入力すると、3 つの結果すべてが取得されます。

3. 理由

MySQL の照合ルールは PADSPACE であり、末尾のスペースは無視されます。

これは、varchar char text などのテキスト データ型を対象としています...

これは SQL の標準化された動作です。設定は不要であり、変更することはできません。

4. 正確なクエリを実行したい場合はどうすればよいでしょうか?

方法1: いいね

`name` が次の条件に該当する人から * を選択します。

方法2: バイナリ

`name` = BINARY の場合、 person から * を選択します。

BINARY は関数ではなく、型変換演算子です。これは、その後ろの文字列をバイナリ文字列に強制するために使用され、完全一致として理解できます。

以上が今回ご紹介した関連知識の全てです。追加事項がありましたら、123WORDPRESS.COM 編集部までご連絡ください。

以下もご興味があるかもしれません:
  • MySQLはクエリ条件としてJSONフィールドの内容に基づいてデータを取得します(JSON配列を含む)
  • MySQLクエリ条件のnot inとinの違いと理由
  • MySQLクエリ条件の一般的な使用法の詳細な説明
  • インデックスは MySQL クエリ条件で使用されますか?
  • MySQLクエリ条件におけるonとwhereの配置の違いの分析
  • MySQLはクエリ条件を最適化する方法を説明しています

<<:  Thinkpad VMware に仮想マシンをインストールすると、「このホストは Intel VT-x をサポートしていますが、Intel VT-x は無効になっています」というメッセージが表示される (問題解決)

>>:  jQuery を使用してカルーセル効果を実装する

推薦する

反応ルーティングでパラメータを渡すいくつかの方法についての簡単な説明

最初のパラメータ渡し方法は、動的ルーティングパラメータ渡しです。リンクのパス属性を設定することで、ル...

MySQL で複数のテーブルにビューを作成する方法

MySQLでは、2つ以上のベーステーブルにビューを作成します。学生テーブルとstu_infoテーブル...

Vue3でカルーセルコンポーネントをカプセル化する方法

目的カルーセルコンポーネントをカプセル化して直接使用します。具体的な内容は以下のとおりです。一般的な...

VMware に Linux システム (Redhat8) と仮想マシンのネットワーク構成をインストールする方法

目次1. VMwareをインストールする1.1 VMwareworkstationsをダウンロードし...

Linux でファイル内の特定の文字の数を数える方法

ファイル内の文字列の数を数えることは、実際には砂の中の石を探すようなものです。ある人は、石を見た後に...

VUEはG2チャートを使用した実装を導入します

目次G2チャートについて使用テンプレートで使用される完全なコード (棒グラフ)世界地図を追加するG2...

mysqlのkey_lenの計算方法についての簡単な説明

MySQL の explain コマンドは SQL のパフォーマンスを分析できます。その 1 つが ...

純粋な CSS を使用して 3D 回転効果を実装するサンプル コード

3D効果を実現するには、主にCSSのpreserve-3dプロパティとperspectiveプロパテ...

Navicat による MySQL パーティショニングの実践

MySQLのパーティショニングは、非常に大きなテーブルを管理するのに役立ちます。MySQLのパーティ...

ウェブインターフェースデザインでウェブサイトのスタイルガイドを作成する方法(画像とテキスト付き)

スタイル ガイドとは何でしょうか? 簡単に言えば、ストーリーを伝える方法を説明するドキュメントです。...

フロントエンドのパフォーマンス最適化を学ぶ準備として、HTMLページのレンダリングプロセスを理解する

現在、フロントエンドのパフォーマンス最適化について学んでいます。適切な解決策を見つけ、パフォーマンス...

HTMLにリンクを挿入する方法

各 Web ページには、URL () で識別されるアドレスがあります。通常、Web サイト内でリンク...

nginx ベースのブラウザネゴシエーションキャッシュプロセスの詳細な説明

この記事は主に、nginx に基づいてブラウザネゴシエーションキャッシュを設定する詳細なプロセスを紹...

Vue+SpringBoot で Alipay サンドボックス決済を実装するためのサンプルコード

まず、Alipay サンドボックスから一連のものをダウンロードします。多くのブログで取り上げられてお...

MySQL 8.0 以降の一般的なコマンドの詳細な説明

リモートアクセスを有効にする次のコマンドを実行して、root ユーザーのリモート アクセス権を有効に...