ฟังก์ชัน PATINDEX ของเซิร์ฟเวอร์ SQL

Fangkchan Patindex Khxng Seirfwexr Sql



บทช่วยสอนนี้มีจุดมุ่งหมายเพื่อแนะนำคุณในการทำความเข้าใจวิธีใช้ฟังก์ชัน PATINDEX ใน SQL Server ฟังก์ชันนี้ช่วยให้คุณกำหนดตำแหน่งเริ่มต้นของรูปแบบในนิพจน์อินพุตที่กำหนด

ฟังก์ชัน SQL Server Patindex()

ข้อมูลโค้ดต่อไปนี้กำหนดไวยากรณ์ของฟังก์ชัน PATINDEX() ใน SQL Server:







แพทอินเด็กซ์ ( '%ลวดลาย%' , การแสดงออก )



มีการสำรวจข้อโต้แย้งด้านล่าง:



  1. ลวดลาย – อาร์กิวเมนต์นี้กำหนดนิพจน์อักขระที่จะค้นหาในนิพจน์ ค่านี้รองรับอักขระตัวแทน เช่น % และ _ ฟังก์ชันจะใช้อักขระตัวแทนคล้ายกับตัวดำเนินการ LIKE คุณสามารถระบุอักขระได้สูงสุด 8,000 ตัวเท่านั้น
  2. การแสดงออก – สิ่งนี้กำหนดนิพจน์ที่มีการค้นหารูปแบบ ค่านี้อาจเป็นค่าตามตัวอักษรหรือเป็นคอลัมน์ก็ได้

ฟังก์ชันจะส่งกลับค่าจำนวนเต็มซึ่งแสดงถึงตำแหน่งเริ่มต้นของรูปแบบการเกิดขึ้นครั้งแรกในนิพจน์ ถ้าไม่พบรูปแบบในนิพจน์ ฟังก์ชันจะคืนค่า 0





ถ้าอาร์กิวเมนต์ที่ต้องการตัวใดตัวหนึ่งเป็น NULL ฟังก์ชันจะคืนค่าเป็น NULL โดยอัตโนมัติ

ตัวอย่างการใช้งาน

ตัวอย่างต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน patindex() ใน SQL Server



ตัวอย่างที่ 1 – การใช้งานพื้นฐาน

ด้านล่างนี้เป็นการสาธิตการใช้งานพื้นฐานของฟังก์ชัน patindex()

เลือก แพททินเด็กซ์ ( '%บิต%' , 'https://geekbits.io' ) เช่น ตำแหน่ง;

สิ่งนี้ควรส่งคืนตำแหน่งเริ่มต้นของรูปแบบที่พบเป็น:

ตำแหน่ง
13

ตัวอย่างที่ 2

ในตัวอย่างด้านล่าง เรากำลังใช้ฟังก์ชัน patindex() กับอักขระตัวแทนหลายตัว

เลือก แพททินเด็กซ์ ( '%g__k%' , 'https://geekbits.io' ) เช่น ตำแหน่ง;

ในกรณีนี้ ฟังก์ชันควรส่งคืน:

ตำแหน่ง
9

ตัวอย่างที่ 3 – การใช้ฟังก์ชัน Patindex() กับรูปแบบที่ซับซ้อน

เรายังสามารถส่งผ่านนิพจน์ทั่วไปที่ซับซ้อนเป็นรูปแบบในฟังก์ชัน patindex ดังที่แสดง:

เลือก แพททินเด็กซ์ ( '%[^0-9A-Za-z]%' , 'ยินดีต้อนรับสู่ลินุกซ์อินท์!!' ) เช่น การแข่งขัน;

ผลลัพธ์:

การแข่งขัน
ยี่สิบเอ็ด

ตัวอย่างที่ 4 – การใช้ฟังก์ชัน Patindex กับคอลัมน์

สมมติว่าเรามีตารางที่แสดงด้านล่าง:

เราสามารถใช้ฟังก์ชัน patindex() เพื่อค้นหารูปแบบการจับคู่ในคอลัมน์ product_name ดังที่แสดงในแบบสอบถามด้านล่าง:

เลือก product_name, ผู้ผลิต, patindex ( '%2022%' , ชื่อผลิตภัณฑ์ ) สถานที่
จากผลิตภัณฑ์

สิ่งนี้ควรส่งคืนตำแหน่งของรูปแบบการจับคู่ดังที่แสดง:

บทสรุป

ในบทช่วยสอนนี้ เราได้กล่าวถึงพื้นฐานของการทำงานกับฟังก์ชัน PATINDEX() ใน SQL Server