การ Escape ตัวอักษรขีดล่างใน SQL Server
บทนำ
SQL Server ใช้ตัวอักษรพิเศษในการดำเนินการค้นหาชนิด wildcard — หนึ่งในตัวอักษรเหล่านี้คือ ตัวอักษรขีดล่าง (_
). ขณะนี้ตัวอักษรนี้สามารถมีประโยชน์อย่างมากในการจับคู่ตัวอักษรเดี่ยวในสตริง แต่มีบางกรณีที่คุณอาจจำเป็นต้อง ค้นหาตัวอักษรขีดล่างเอง หากคุณเขียนคำค้นเพื่อหาชื่อผู้ใช้ที่ลงท้ายด้วย _d
ยกตัวอย่าง คุณอาจจะสับสนว่าควรจะ escape ตัวอักษรขีดล่างนั้นอย่างไรให้อยู่ในรูปแบบที่ถูกต้อง บทความนี้จะอธิบายวิธีการจัดการกับสถานการณ์นี้ได้อย่างมีประสิทธิภาพ
การทำความเข้าใจกับปัญหา
เมื่อคุณเขียนคำค้นแบบนี้:
WHERE Username LIKE '%_d'
คำสั่ง SQL นี้จะค้นหาชื่อผู้ใช้ใด ๆ ที่มีตัวอักษรใด ๆ ตามหลังตัวอักษร “d.” หากคุณพยายามค้นหาชื่อผู้ใช้ที่ลงท้ายด้วย _d
โดยแท้จริงแล้ว คุณจำเป็นต้อง escape ตัวอักษรขีดล่างนั้นให้ SQL Server ประมวลผลเป็นตัวอักษรปกติ ไม่ใช่เป็น wildcard
การ Escape ตัวอักษรขีดล่างใน SQL Server
การใช้วงเล็บ
เพื่อที่จะ escape ตัวอักษรขีดล่างใน SQL Server อย่างถูกต้อง คุณสามารถใส่มันไว้ในวงเล็บ []
ซึ่งจะบอก SQL Server ว่าคุณกำลังมองหาตัวอักษรขีดล่างในลักษณะธรรมดา ไม่ใช่เป็น wildcard นี่คือวิธีการปรับแต่งคำค้นของคุณ:
WHERE Username LIKE '%[_]d'
การอธิบาย
-
การใช้วงเล็บ: เมื่อคุณใส่ตัวอักษรขีดล่างอยู่ในวงเล็บ มันจะบ่งบอกให้ SQL Server ทราบว่าคุณสนใจในตัวอักษรขีดล่างในฐานะตัวอักษร ไม่ใช่เป็น wildcard ที่ตรงกับตัวอักษรใด ๆ เดียว
-
การวิเคราะห์คำค้น:
%
ก่อนตัวอักษรขีดล่างหมายความว่ามีลำดับของตัวอักษรใด ๆ ก่อนหน้านั้นได้[_]
หมายถึงคุณกำลังมองหาตัวอักษรขีดล่างโดยเฉพาะd
ยังไม่เปลี่ยนแปลง หมายความว่ามันมาหลังจากตัวอักษรขีดล่าง
อ้างอิงเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ตัวอักษร wildcard และวิธีการประยุกต์ใช้ในลักษณะธรรมดาในคำค้น SQL ของคุณ คุณสามารถสำรวจเอกสาร T-SQL Reference for LIKE เอกสารนี้มีตัวอย่างและสถานการณ์เพิ่มเติมในการใช้ตัวอักษร wildcard ใน SQL Server
สรุป
ในสรุป การ escape ตัวอักษรขีดล่างใน SQL Server นั้นตรงไปตรงมาหลังจากที่คุณเข้าใจการใช้วงเล็บ โดยการใส่ตัวอักษรขีดล่างในวงเล็บ คุณสามารถค้นหาฐานข้อมูลของคุณเพื่อหาค่าที่ตรงกันอย่างถูกต้อง ซึ่งรวมถึงตัวอักษรขีดล่าง เทคนิคนี้เป็นสิ่งสำคัญสำหรับการดึงข้อมูลที่ถูกต้องและเพื่อให้แน่ใจว่าคำค้นของคุณนำผลลัพธ์ที่คาดหวังออกมา ตอนนี้คุณพร้อมที่จะค้นหาชื่อผู้ใช้หรือลำดับใด ๆ ที่ประกอบด้วยตัวอักษรขีดล่างตามความจำเป็น!
หากคุณมีคำถามใด ๆ หรือต้องการความช่วยเหลือเพิ่มเติมเกี่ยวกับคำค้น SQL อย่าลังเลที่จะแสดงความคิดเห็นด้านล่าง!