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

เงื่อนไข LIKE ใน SQL Server

LIKE ใช้ทำอะไร?

ใช้ค้นหาข้อมูลแบบ Pattern Matching ด้วย Wildcard ในเงื่อนไข WHERE ของ SELECT, INSERT, UPDATE, DELETE

รูปแบบคำสั่ง

expression LIKE pattern [ESCAPE escape_character]

Wildcard Characters

สัญลักษณ์ความหมาย
%ตัวอักษรใดๆ จำนวนเท่าไรก็ได้ (รวม 0 ตัว)
_ตัวอักษรเพียง 1 ตัวเท่านั้น
[abc]ตัวอักษรใดตัวหนึ่งในชุด (a, b, หรือ c)
[^abc]ตัวอักษรใดๆ ยกเว้น a, b, c

Escape Character

ใช้เมื่อต้องการค้นหาตัวอักษร % หรือ _ โดยตรง (ไม่ใช่ wildcard) ระบุตัวอักษรหนึ่งตัวเป็น escape

ตัวอย่าง

1. ใช้ % (ขึ้นต้น/ลงท้าย/ตรงกลาง)

-- นามสกุลขึ้นต้น B
WHERE ho LIKE 'B%'

-- นามสกุลมีตัว o อยู่ตรงกลาง
WHERE ho LIKE '%o%'

2. ใช้ _ (ตัวอักษรเดียว)

-- นามสกุล 4 ตัวอักษร เริ่ม Ad จบ m
WHERE ho LIKE 'Ad_m'
-- ผล: Adam, Adem, Adim, Adom...

3. ใช้ [] (ชุดตัวอักษร)

-- ชื่อ 5 ตัวอักษร เริ่ม Sm จบ th ตัวกลาง i หรือ y
WHERE ten LIKE 'Sm[iy]th'
-- ผล: Smith, Smyth

4. ใช้ [^] (ยกเว้น)

-- ชื่อ 5 ตัวอักษร เริ่ม Sm จบ th ตัวกลาง ไม่ใช่ i และ y
WHERE ten LIKE 'Smy[^iy]th'
-- ผล: Smath, Smeth...

5. ใช้ NOT LIKE

-- นามสกุลไม่ขึ้นต้น B
WHERE ho NOT LIKE 'B%'

6. ใช้ ESCAPE

-- ค้นหา secret_hint ที่เป็น 123%455 (ตัว % เป็นตัวอักษรจริง)
WHERE secret_hint LIKE '123!%455' ESCAPE '!'

-- ค้นหา เริ่ม H จบ %
WHERE secret_hint LIKE 'H%!%' ESCAPE '!'

-- ค้นหา เริ่ม H จบ _
WHERE secret_hint LIKE 'H%!_' ESCAPE '!'