Maison > base de données > tutoriel mysql > Comment puis-je rechercher des noms d'utilisateur en ignorant les variations d'espaces dans SQL ?

Comment puis-je rechercher des noms d'utilisateur en ignorant les variations d'espaces dans SQL ?

Patricia Arquette
Libérer: 2024-12-24 00:30:30
original
685 Les gens l'ont consulté

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

Recherche de noms d'utilisateur malgré les variations d'espaces

Lors de la recherche de noms d'utilisateur, il est souvent souhaitable d'ignorer tout espace dans le champ. Par exemple, dans une base de données avec les utilisateurs « JohnBobJones », « John Bob Jones » et « JohnBobJones », il est raisonnable de s'attendre à ce qu'une recherche sur « John Bob Jones » récupère les trois entrées.

Requête SQL avec normalisation des espaces

Pour réaliser cette recherche indépendante des espaces, la requête SQL suivante peut être used :

SELECT * FROM mytable 
    WHERE REPLACE(username, ' ', '') = REPLACE("John Bob Jones", ' ', '')
Copier après la connexion

Cette requête utilise la fonction REPLACE() pour supprimer tous les caractères d'espacement du champ du nom d'utilisateur et de la chaîne de recherche. En comparant les valeurs normalisées, il garantit que la présence ou l'absence d'espaces n'affecte pas les résultats de la recherche.

Implémentation en PHP ou Python

La requête SQL peut être exécuté à partir de PHP ou de Python à l'aide des connecteurs de base de données appropriés. Voici un exemple 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();
Copier après la connexion

Et un exemple 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()
Copier après la connexion

Ces extraits de code établissent une connexion à la base de données, exécutent la requête SQL avec les valeurs normalisées et récupèrent les entrées correspondantes .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal