Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

ฟังก์ชัน CHARINDEX ใน SQL Server

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

คำอธิบาย

ฟังก์ชัน CHARINDEX ใน SQL Server ใช้ค้นหาสตริงย่อยภายในสตริงขนาดใหญ่ เริ่มจากตำแหน่งที่ระบุ ฟังก์ชันคืนค่าตำแหน่งที่พบสตริงย่อย หรือคืนค่า 0 หากไม่พบ ตำแหน่งในสตริงเริ่มที่ 1 ไม่ใช่ 0 เหมือนกรณีอื่นๆ

ไวยากรณ์

การใช้งานฟังก์ชัน CHARINDEX ใน SQL Server มีรูปแบบดังนี้:

CHARINDEX(chuoi_con, chuoi_cha, [vi_tri_bat_dau])

พารามิเตอร์:

  1. chuoi_con: สตริงย่อยที่ต้องการค้นหา ความยาวจำกัด 8000 ตัวอักษร
  2. chuoi_cha: สตริงที่ต้องการค้นหา สามารถเป็นข้อความ นิพจน์ หรือคอลัมน์
  3. vi_tri_bat_dau: ไม่จำเป็น ตำแหน่งในสตริงที่จะเริ่มค้นหา ตำแหน่งแรกคือ 1

หมายเหตุ:

  1. ตำแหน่งแรกในสตริงคือ 1
  2. หากไม่พบสตริงย่อยในสตริง CHARINDEX จะคืนค่า 0
  3. ฟังก์ชัน CHARINDEX รองรับใน SQL Server 2005, 2008, 2008 R2, 2012, 2014, 2016, 2017 และเวอร์ชันใหม่กว่า

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

ดูตัวอย่างฟังก์ชัน CHARINDEX ใน SQL Server:

SELECT CHARINDEX('q', 'TipsMake.com');
-- ผลลัพธ์: 1 (ค้นหาไม่แยกตัวพิมพ์ใหญ่/เล็ก)

SELECT CHARINDEX('n', 'TipsMake.com', 2);
-- ผลลัพธ์: 4

SELECT CHARINDEX('n', 'TipsMake.com', 6);
-- ผลลัพธ์: 10

SELECT CHARINDEX('AN', 'TipsMake.com');
-- ผลลัพธ์: 3 (ค้นหาไม่แยกตัวพิมพ์ใหญ่/เล็ก)

SELECT CHARINDEX('an', 'TipsMake.com', 7);
-- ผลลัพธ์: 9 (ค้นหาไม่แยกตัวพิมพ์ใหญ่/เล็ก จึงจับคู่กับ 'An')

SELECT CHARINDEX('z', 'TipsMake.com');
-- ผลลัพธ์: 0