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

MySQL เลือกที่ค่าในสตริงรายการ?


สำหรับสิ่งนี้ ให้ใช้ FIND_IN_SET()

ให้เราสร้างตาราง -

ตัวอย่าง

mysql> create table demo81
   -> (
   -> id int not null auto_increment primary key,
   -> username varchar(200)
   -> );
Query OK, 0 rows affected (1.44

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

ตัวอย่าง

mysql> insert into demo81(username) values('John,Chris,David');
Query OK, 1 row affected (0.11

mysql> insert into demo81(username) values('Mike,Sam');
Query OK, 1 row affected (0.14

mysql> insert into demo81(username) values('Chris,Bob,Sam');
Query OK, 1 row affected (0.13

mysql> insert into demo81(username) values('Mike,John,Chris');
Query OK, 1 row affected (0.23

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

ตัวอย่าง

mysql> select *from demo81;

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

ผลลัพธ์

+----+------------------+

| id | username         |

+----+------------------+

|  1 | John,Chris,David |

|  2 | Mike,Sam         |

|  3 | Chris,Bob,Sam    |

|  4 | Mike,John,Chris  |

+----+------------------+

4 rows in set (0.00 sec)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกค่าในสตริงรายการ -

ตัวอย่าง

mysql> select *from demo81 where find_in_set('Chris',username) > 0;

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

ผลลัพธ์

+----+------------------+

| id | username         |

+----+------------------+

|  1 | John,Chris,David |

|  3 | Chris,Bob,Sam    |

|  4 | Mike,John,Chris  |

+----+------------------+

3 rows in set (0.03 sec)