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

รวมคอลัมน์ก่อนที่จะจับคู่กับ LIKE ในแบบสอบถามเดียวใน MySQL?


คุณสามารถใช้ฟังก์ชัน CONCAT() สำหรับสิ่งนี้ ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, Value1 varchar(10), Value2 varchar(10) ); Query OK, 0 แถวได้รับผลกระทบ (0.21 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable(Value1,Value2) ('10','345');Query OK, 1 แถวได้รับผลกระทบ (0.07 วินาที)mysql> แทรกลงในค่า DemoTable(Value1,Value2) ('14', '789');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.06 วินาที)mysql> แทรกลงในค่า DemoTable(Value1,Value2) ('18','234');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+---------+-------+| รหัส | Value1 | ค่าที่ 2 |+----+---------+-------+| 1 | 10 | 345 || 2 | 14 | 789 || 3 | 18 | 234 |+----+-------+-------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามที่จะรวมคอลัมน์ก่อนที่จะจับคู่กับ LIKE ในแบบสอบถามเดียว -

mysql> SELECT * จาก DemoTable โดยที่ CONCAT(Value1, Value2) LIKE '%147%';

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+---------+-------+| รหัส | Value1 | ค่าที่ 2 |+----+---------+-------+| 2 | 14 | 789 |+----+---------+--------+1 แถวในชุด (0.00 วินาที)