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

เราจะแยกสตริงย่อยออกจากค่าของคอลัมน์ในตาราง MySQL ได้อย่างไร


เราสามารถใช้ฟังก์ชันใดๆ เช่น SUBSTRING(), MID() หรือ SUBSTR() เพื่อแยกสตริงย่อยออกจากค่าของคอลัมน์ ในกรณีนี้ เราต้องระบุชื่อของคอลัมน์เป็นอาร์กิวเมนต์แรกของฟังก์ชัน นั่นคือ ที่ตำแหน่งของสตริง เราต้องระบุชื่อของคอลัมน์ ตัวอย่างต่อไปนี้จะแสดงให้เห็น

ตัวอย่าง

สมมติว่าเราต้องการแยกสตริงย่อยออกจากคอลัมน์ 'ชื่อ' ของตาราง 'นักเรียน' ก็สามารถทำได้โดยใช้ฟังก์ชันต่างๆ ดังนี้ -

mysql> Select name, SUBSTR(name,2,4) from student;
+---------+------------------+
| name    | SUBSTR(name,2,4) |
+---------+------------------+
| Gaurav  | aura             |
| Aarav   | arav             |
| Harshit | arsh             |
| Gaurav  | aura             |
| Yashraj | ashr             |
+---------+------------------+
5 rows in set (0.00 sec)

mysql> Select name, MID(name,2,4) from student;
+---------+---------------+
| name    | MID(name,2,4) |
+---------+---------------+
| Gaurav  | aura          |
| Aarav   | arav          |
| Harshit | arsh          |
| Gaurav  | aura          |
| Yashraj | ashr          |
+---------+---------------+
5 rows in set (0.00 sec)

mysql> Select name, substring(name,2,4) from student;
+---------+---------------------+
| name    | substring(name,2,4) |
+---------+---------------------+
| Gaurav  | aura                |
| Aarav   | arav                |
| Harshit | arsh                |
| Gaurav  | aura                |
| Yashraj | ashr                |
+---------+---------------------+
5 rows in set (0.00 sec)

นอกจากนี้เรายังสามารถใช้เงื่อนไข/s ในแบบสอบถามข้างต้นได้ดังนี้ −

mysql> Select name, substring(name,2,4) from student WHERE address = 'delhi';
+---------+---------------------+
| name    | substring(name,2,4) |
+---------+---------------------+
| Gaurav  | aura                |
| Harshit | arsh                |
+---------+---------------------+
2 rows in set (0.16 sec)

mysql> Select name, MID(name,2,4) from student WHERE address = 'delhi';
+---------+---------------+
| name    | MID(name,2,4) |
+---------+---------------+
| Gaurav  | aura          |
| Harshit | arsh          |
+---------+---------------+
2 rows in set (0.00 sec)

mysql> Select name, SUBSTR(name,2,4) from student WHERE address = 'delhi';
+---------+------------------+
| name    | SUBSTR(name,2,4) |
+---------+------------------+
| Gaurav  | aura             |
| Harshit | arsh             |
+---------+------------------+
2 rows in set (0.00 sec)