Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีใช้ตัวแปรผู้ใช้ (User Variables) ในเงื่อนไข LIKE ของ MySQL

การรวมตัวแปรผู้ใช้กับ LIKE ด้วย CONCAT()

ใน MySQL คุณสามารถใช้ตัวแปรผู้ใช้ (User Variables) ร่วมกับเงื่อนไข LIKE ได้โดยการต่อสตริงด้วยฟังก์ชัน CONCAT() รูปแบบคือ:

SET @variable_name = 'search_value';
SELECT column1, column2, ... 
FROM your_table_name 
WHERE your_column LIKE CONCAT('%', @variable_name, '%');

ตัวอย่างการใช้งานแบบสมบูรณ์

1. สร้างตารางผู้ใช้

CREATE TABLE UserVariableInLike (
    id INT,
    Name VARCHAR(100),
    Age INT
);

2. เพิ่มข้อมูลตัวอย่าง

INSERT INTO UserVariableInLike VALUES 
(101, 'John', 23),
(102, 'John Smith', 24),
(103, 'Carol Smith', 23),
(104, 'Johnson', 25),
(105, 'Adam Smith', 26);

3. ตั้งค่าตัวแปรและค้นหา

SET @searchName = 'John';
SELECT id, Name, Age 
FROM UserVariableInLike 
WHERE Name LIKE CONCAT('%', @searchName, '%');

ผลลัพธ์การค้นหา

idNameAge
101John23
102John Smith24
104Johnson25

ประโยชน์ของวิธีนี้

  • ใช้ตัวแปรซ้ำได้หลายคิวรีโดยไม่ต้องพิมพ์ค่าซ้ำ
  • เหมาะสำหรับ Stored Procedure หรือ Dynamic SQL
  • ป้องกัน SQL Injection ได้ดีกว่าการต่อสตริงโดยตรง
  • รองรับ wildcard ทั้งหน้าและหลัง (%...%)