Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mencari Nama Pengguna Mengabaikan Variasi Ruang Putih dalam SQL?

Bagaimanakah Saya Boleh Mencari Nama Pengguna Mengabaikan Variasi Ruang Putih dalam SQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-24 00:30:30718semak imbas

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

Mencari Nama Pengguna Walaupun Variasi Ruang Putih

Apabila mencari nama pengguna, selalunya wajar untuk mengabaikan sebarang ruang kosong dalam medan. Sebagai contoh, dalam pangkalan data dengan pengguna "JohnBobJones," "John Bob Jones" dan "JohnBobJones," adalah munasabah untuk mengharapkan carian untuk "John Bob Jones" untuk mendapatkan ketiga-tiga entri.

Pertanyaan SQL dengan Normalisasi Ruang Putih

Untuk mencapai carian agnostik ruang putih ini, pertanyaan SQL berikut boleh used:

SELECT * FROM mytable 
    WHERE REPLACE(username, ' ', '') = REPLACE("John Bob Jones", ' ', '')

Pertanyaan ini menggunakan fungsi REPLACE() untuk mengalih keluar semua aksara ruang putih daripada kedua-dua medan nama pengguna dan rentetan carian. Dengan membandingkan nilai yang dinormalkan, ia memastikan kehadiran atau ketiadaan ruang putih tidak menjejaskan hasil carian.

Pelaksanaan dalam PHP atau Python

Pertanyaan SQL boleh dilaksanakan daripada PHP atau Python menggunakan penyambung pangkalan data yang sesuai. Berikut ialah contoh 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();

Dan contoh 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()

Coretan kod ini mewujudkan sambungan pangkalan data, laksanakan pertanyaan SQL dengan nilai yang dinormalkan dan dapatkan semula entri yang sepadan .

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Nama Pengguna Mengabaikan Variasi Ruang Putih dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn