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

รวมคอลัมน์ก่อนค้นหาด้วย LIKE ใน MySQL

ใช้ CONCAT() รวมคอลัมน์หลายคอลัมน์ แล้วค่อยค้นหาด้วย LIKE

สร้างตารางและเพิ่มข้อมูล

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Value1 VARCHAR(10),
    Value2 VARCHAR(10)
);
mysql> INSERT INTO DemoTable(Value1, Value2) VALUES
    ('10', '345'), ('14', '789'), ('18', '234');

ดูข้อมูล

mysql> SELECT * FROM DemoTable;
+----+--------+--------+
| Id | Value1 | Value2 |
+----+--------+--------+
|  1 | 10     | 345    |
|  2 | 14     | 789    |
|  3 | 18     | 234    |
+----+--------+--------+

ค้นหาแถวที่รวม Value1+Value2 มี '147'

mysql> SELECT * FROM DemoTable
    -> WHERE CONCAT(Value1, Value2) LIKE '%147%';

ผลลัพธ์

+----+--------+--------+
| Id | Value1 | Value2 |
+----+--------+--------+
|  2 | 14     | 789    |
+----+--------+--------+

คำอธิบาย: แถวที่ 2 มี Value1='14' และ Value2='789' รวมกันได้ '14789' ซึ่งมี '147' อยู่ในตัว