..


ลิงก์ผู้สนับสนุน

นิพจน์ปกติใน MySQL แบบสอบถาม

บทความที่เขียนโดย Max Bossi

เครื่องยนต์ภายในของ MySQL มีพื้นเมือง -- นอกเหนือจากการที่ผู้ประกอบการทั่วไปของความเสมอภาคเท่าเทียมกันและความคล้ายคลึงกัน (เช่น) -- ผู้ประกอบการที่มีประโยชน์มาก : ผู้ประกอบการ regexp
ดังเช่นชื่อของตัวดำเนินการยกระดับ regexp อำนาจของนิพจน์ปกติเพื่อดำเนินการค้นหาซับซ้อนภายในฐานข้อมูลของเรา ไวยากรณ์คือง่ายๆ






 SELECT field_name







 จาก table_name







 WHERE field_name regexp การแสดงออก;

 
Let's เป็นไปตามตารางสรุปที่เรียบง่ายของตัวอักษรหลักและไวยากรณ์พิเศษที่ใช้ในการแสดงออกของการเปรียบเทียบ :

^ ^ เริ่มต้นของสตริง
$ จุดสิ้นสุดของสตริง
. ตัวอักษรใด ๆ
[...] ใด ๆ ของตัวอักษรที่อยู่ในวงเล็บ
[^...] ยกเว้นตัวอักษรในวงเล็บใด ๆ
| แยกสตริงของตัวอักษรหรือทางเลือกของพวกเขา
* เป็นศูนย์หรือมากกว่า repetitions ของตัวอักษรก่อนหน้านี้หรือสตริง
+ + หนึ่งหรือมากกว่าหนึ่ง repetitions ของตัวอักษรก่อนหน้านี้หรือสตริง
{N} ตัวอักษร"N"หรือการทำซ้ำของสตริงก่อนหน้านี้
{Min, Max} ซ้ำตัวอักษรที่ก่อนหน้านี้หรือสตริงที่จำนวนครั้งระหว่างต่ำสุดและสูงสุด

เราจะให้ตัวอย่างการปฏิบัติไม่กี่ที่, ตามปกติ, เป็นมูลค่าหนึ่งพันคำ ...
สำหรับความเรียบง่ายที่เราจะอ้างถึงฐานข้อมูลปฏิทินสมมุติที่มีชื่อของเพื่อนของเรา

1) เราพบชื่อทั้งหมดที่ขึ้นต้นด้วย"M"

 



 เลือกชื่อจากปฏิทินที่ชื่อ regexp'^ m';

 
แบบสอบถามของเราจะกลับมาตัวอย่างเช่น
  • Ara M
  • โค้ง M
  • M ary
  • M Ilena
2) เราพบชื่อทั้งหมดที่ลงท้ายด้วย"หรือ"
 



 เลือกชื่อจากปฏิทินที่ชื่อ regexp'หรือ $';

 
แบบสอบถามของเราจะกลับมาตัวอย่างเช่น
  • หรือฟิลิป
  • ไฟหรือ
  • Marc และ
  • ทะเลหรือ
  • พอลหรือ
3) เราพบชื่อทั้งหมดที่ขึ้นต้นด้วย"M"และในที่สุด"หรือ"
 



 เลือกชื่อจากปฏิทินที่ชื่อ regexp'^ m + O $';

 
แบบสอบถามของเราจะกลับมาตัวอย่างเช่น
  • เอ็มอาร์หรือ
  • หรือเอ็มอารีย์
4) เราพบชื่อทั้งหมดที่มีตัวอักษร"r"
 



 เลือกชื่อจากปฏิทินที่ชื่อ regexp'R';

 
แบบสอบถามของเราจะกลับมาตัวอย่างเช่น
  • CLA R
  • แต่ R
  • แต่เพื่อนร่วม R
  • แต่ผม R
5) เราพบชื่อทั้งหมดที่ประกอบด้วยกลุ่มของตัวอักษร"แต่"หรือ"ฉัน"
 



 เลือกชื่อจากปฏิทินที่ชื่อ regexp'ma | ra';

 
แบบสอบถามของเราจะกลับมาตัวอย่างเช่น
  • Luc ฉัน
  • แต่ RA
  • แต่ rco
  • แต่ผม R
6) เราพบชื่อทั้งหมดที่ไม่ได้มีตัวอักษร"m"และ"A"
 



 เลือกชื่อจากปฏิทินที่ชื่อ regexp'^ [ma]';

 
แบบสอบถามของเราจะกลับมาตัวอย่างเช่น
  • ฟิลิป
  • Lucio
ฉันปล่อยให้ผู้อ่านเพื่อทดสอบผู้ประกอบการที่มีศักยภาพใน regexp เนื่องจากพื้นที่ที่เป็นไปได้ของการใช้งานเป็นจำนวนมากและมันยากที่จะสรุปในบทความสั้น ๆ เช่นนี้มีขึ้นเพื่อเป็น

ในประเภทเดียวกัน ...
E - Learning
MS Access (Advanced) MS Access (Advanced)
เรียนรู้วิธีสร้างและจัดการฐานข้อมูลอย่างรวดเร็วและง่ายดาย เริ่มต้นจาก 29 €
MySQL (Course) MySQL (Course)
การบริหารจัดการฐานข้อมูลโอเพนซอร์ส จาก 39 €
SQL และฐานข้อมูล (หลักสูตร) SQL และฐานข้อมูล (หลักสูตร)
การสร้างและจัดการฐานข้อมูลเชิงสัมพันธ์ จาก 39 €
ลิงก์ผู้สนับสนุน