การจับคู่รูปแบบในข้อความค้นหา SQL

ใช้สัญลักษณ์แทนสำหรับการจับคู่แบบไม่ถูกต้อง

การจับคู่รูปแบบ SQL ช่วยให้คุณสามารถค้นหารูปแบบข้อมูลได้หากคุณไม่ทราบคำหรือวลีที่คุณต้องการ แบบสอบถาม SQL แบบนี้ใช้อักขระตัวแทนเพื่อให้ตรงกับรูปแบบแทนที่จะระบุว่าตรง ตัวอย่างเช่นคุณสามารถใช้สัญลักษณ์แทน "C%" เพื่อจับคู่สตริงที่ขึ้นต้นด้วยทุน C

ใช้ LIKE Operator

หากต้องการใช้นิพจน์ตัวแทนในแบบสอบถาม SQL ให้ใช้โอเปอเรเตอร์ LIKE ในคำสั่ง WHERE และใส่รูปแบบไว้ในเครื่องหมายอัญประกาศเดี่ยว

ใช้% Wildcard เพื่อค้นหาแบบธรรมดา

เมื่อต้องการค้นหาพนักงานในฐานข้อมูลของคุณโดยใช้นามสกุลที่ขึ้นต้นด้วยตัวอักษร C ให้ใช้คำสั่ง Transact-SQL ต่อไปนี้:

SELECT * FROM employees WHERE last_name LIKE 'C%'

การละเว้นรูปแบบโดยใช้ NOT Keyword

ใช้คำสำคัญ NOT เพื่อเลือกระเบียนที่ไม่ตรงกับรูปแบบ ตัวอย่างเช่นแบบสอบถามนี้ส่งกลับระเบียนทั้งหมดที่มีชื่อล่าสุดไม่ ได้ ขึ้นต้นด้วย C:

SELECT * FROM employees WHERE last_name ไม่ชอบ 'C%'

การจับคู่รูปแบบใดก็ได้โดยใช้% ตัวแทนสองครั้ง

ใช้สองกรณีของ % wildcard เพื่อให้ตรงกับรูปแบบเฉพาะที่ใดก็ได้ ตัวอย่างนี้จะส่งกลับระเบียนทั้งหมดที่มี C ที่ใดก็ได้ในนามสกุล:

SELECT * FROM employees WHERE last_name LIKE '% C%'

การค้นหารูปแบบการแข่งขันในตำแหน่งที่เฉพาะเจาะจง

ใช้ _ wildcard เพื่อส่งคืนข้อมูลในตำแหน่งที่ระบุ ตัวอย่างนี้ตรงกับเฉพาะเมื่อ C เกิดขึ้นที่ตำแหน่งที่สามของคอลัมน์ชื่อล่าสุด:

SELECT * FROM employees WHERE last_name LIKE '_ _C%'

นิพจน์ตัวแทนที่ได้รับการสนับสนุนใน Transact SQL

มีนิพจน์ตัวแทนหลายตัวที่สนับสนุนโดย Transact SQL:

การรวมอักขระตัวแทนสำหรับรูปแบบที่ซับซ้อน

รวมอักขระเหล่านี้ไว้ในรูปแบบที่ซับซ้อนเพื่อทำการค้นหาขั้นสูงเพิ่มเติม ตัวอย่างเช่นสมมติว่าคุณต้องสร้างรายชื่อพนักงานทุกคนที่มีชื่อขึ้นต้นด้วยตัวอักษรจากครึ่งแรกของตัวอักษร แต่ ไม่ได้ จบลงด้วยสระ คุณสามารถใช้แบบสอบถามต่อไปนี้:

SELECT * FROM employees WHERE last_name LIKE '[am]% [^ aeiou]'

ในทำนองเดียวกันคุณสามารถสร้างรายชื่อพนักงานทั้งหมดที่มีชื่อนามสกุลประกอบด้วยอักขระสี่ตัวโดยใช้สี่รูปแบบของ _ pattern:

SELECT * จากพนักงานที่ไหน last_name LIKE '____'

ในขณะที่คุณสามารถบอกได้การใช้รูปแบบการจับคู่แบบ SQL ช่วยให้ผู้ใช้ฐานข้อมูลมีความสามารถในการค้นหาข้อความได้ง่ายขึ้นและดำเนินการค้นหาขั้นสูง