ホームページ > データベース > mysql チュートリアル > SQL で空白のバリエーションを無視してユーザー名を検索するにはどうすればよいですか?

SQL で空白のバリエーションを無視してユーザー名を検索するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-24 00:30:30
オリジナル
720 人が閲覧しました

How Can I Search for Usernames Ignoring Whitespace Variations in SQL?

空白のバリエーションを考慮したユーザー名の検索

ユーザー名を検索するときは、フィールド内の空白を無視することが望ましいことがよくあります。たとえば、ユーザー「JohnBobJones」、「John Bob Jones」、「JohnBobJones」が含まれるデータベースでは、「John Bob Jones」を検索すると 3 つのエントリすべてが取得されると予想するのが自然です。

空白正規化を使用した SQL クエリ

この空白に依存しない検索を実現するには、次の SQL クエリを実行できます。 used:

SELECT * FROM mytable 
    WHERE REPLACE(username, ' ', '') = REPLACE("John Bob Jones", ' ', '')
ログイン後にコピー

このクエリは REPLACE() 関数を使用して、ユーザー名フィールドと検索文字列の両方からすべての空白文字を削除します。正規化された値を比較することで、空白の有無が検索結果に影響を与えないことが保証されます。

PHP または Python での実装

SQL クエリは次のとおりです。適切なデータベース コネクタを使用して、PHP または Python から実行されます。 PHP の例:

$db = new mysqli('localhost', 'user', 'password', 'database');
$stmt = $db->prepare("SELECT * FROM mytable 
    WHERE REPLACE(username, ' ', '') = REPLACE('John Bob Jones', ' ', '')");
$stmt->execute();
$result = $stmt->get_result();
ログイン後にコピー

Python の例:

import mysql.connector

db = mysql.connector.connect(
    host='localhost',
    user='user',
    password='password',
    database='database'
)

cursor = db.cursor()
cursor.execute("SELECT * FROM mytable 
    WHERE REPLACE(username, ' ', '') = REPLACE('John Bob Jones', ' ', '')")
result = cursor.fetchall()
ログイン後にコピー

これらのコード スニペットはデータベース接続を確立し、正規化された値で SQL クエリを実行し、一致するエントリを取得します。 .

以上がSQL で空白のバリエーションを無視してユーザー名を検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート