Substring() ใน SQL Server: วิธีใช้ฟังก์ชันพร้อมตัวอย่าง
สตริงย่อย () คืออะไร?
สตริงย่อย () เป็นฟังก์ชันใน SQL ที่ให้ผู้ใช้สามารถรับสตริงย่อยจากชุดสตริงใดๆ ที่กำหนดได้ตามความต้องการของผู้ใช้ Substring() แยกสตริงที่มีความยาวที่ระบุโดยเริ่มจากตำแหน่งที่กำหนดในสตริงอินพุต วัตถุประสงค์ของ Substring() ใน SQL คือการส่งคืนส่วนเฉพาะของสตริง
ไวยากรณ์สำหรับสตริงย่อย ()
SUBSTRING(Expression, Starting Position, Total Length)
ที่นี่
- สตริงย่อย() ใน Expression ของเซิร์ฟเวอร์ SQL อาจเป็นอักขระ ไบนารี ข้อความ หรือรูปภาพใดก็ได้ Expression คือสตริงต้นทางที่เราจะดึงสตริงย่อยตามความต้องการของเรา
- ตำแหน่งเริ่มต้นจะกำหนดตำแหน่งในนิพจน์จากตำแหน่งที่สตริงย่อยใหม่ควรเริ่มต้น
- ความยาวรวมของสตริงย่อย SQLserver() คือความยาวรวมที่คาดหวังของสตริงย่อยผลลัพธ์จากนิพจน์ โดยเริ่มต้นจากตำแหน่งเริ่มต้น
กฎการใช้ SUBSTRING()
- อาร์กิวเมนต์ทั้งสามจำเป็นต้องมีในฟังก์ชันสตริงย่อย MSSQL ()
- หากตำแหน่งเริ่มต้นมากกว่าจำนวนอักขระสูงสุดใน Expression จะไม่มีการส่งคืนฟังก์ชัน substring() ในเซิร์ฟเวอร์ SQL
- ความยาวทั้งหมดสามารถเกินความยาวอักขระสูงสุดของสตริงต้นฉบับได้ ในกรณีนี้ สตริงย่อยที่เป็นผลลัพธ์จะเป็นสตริงทั้งหมดโดยเริ่มต้นจากตำแหน่งเริ่มต้นในนิพจน์จนถึงอักขระสิ้นสุดของ Expression
แผนภาพด้านล่างแสดงการใช้ฟังก์ชัน SUBSTRING() ในเซิร์ฟเวอร์ SQL
ตัวอย่างสตริงย่อย T-SQL
อัสสัมชั: สมมติว่าเรามีตารางเป็น 'กูรู99' โดยแบ่งเป็น 2 คอลัมน์ 4 แถว ดังแสดงด้านล่างนี้:
เราจะใช้ 'กูรู99' ตารางในตัวอย่างเพิ่มเติม
ข้อความค้นหา 1: SUBSTRING() ใน SQL ที่มีความยาวน้อยกว่าความยาวสูงสุดของนิพจน์ทั้งหมด
SELECT Tutorial_name, SUBSTRING(Tutorial_name,1,2) As SUB from Guru99;
ผลลัพธ์: ด้านล่างไดอะแกรมแสดงสตริงย่อยของคอลัมน์ 'Tutorial_name' เป็นคอลัมน์ 'SUB'
ข้อความค้นหา 2: SUBSTRING() ในเซิร์ฟเวอร์ SQL ด้วยความยาว มากขึ้น กว่า ความยาวสูงสุดของนิพจน์ทั้งหมด
SELECT Tutorial_name, SUBSTRING(Tutorial_name,2,8) As SUB from Guru99;
ผลลัพธ์: ด้านล่างไดอะแกรมแสดงสตริงย่อยของคอลัมน์ 'Tutorial_name' เป็นคอลัมน์ 'SUB' นี่ทั้งๆ.
ความยาวของสตริงย่อยมากกว่าความยาวสูงสุดรวมของนิพจน์ และไม่มีข้อผิดพลาดและคิวรีส่งคืนสตริงแบบเต็มที่ส่งคืน
สรุป
- ไวยากรณ์คือ: SUBSTRING (นิพจน์ ตำแหน่งเริ่มต้น ความยาวรวม)
- อาร์กิวเมนต์ทั้งสามจำเป็นต้องระบุใน substr() in เซิร์ฟเวอร์ SQL.
- Expression อาจเป็นอักขระ ไบนารี ข้อความ หรือรูปภาพใดก็ได้สำหรับการสืบค้น substring() SQL.