20100621

ตัวดำเนินการ Like

ตัวดำเนินการ Like

นำไปใช้กับ: Microsoft Office Access 2003, Office 2003, Microsoft Access

เปรียบเทียบนิพจน์ สายอักขระกับรูปแบบในนิพจน์ SQL
ไวยากรณ์
expression Likepattern
ไวยากรณ์ของตัวดำเนิน การ Like มีส่วนต่างๆ เหล่านี้
ส่วน คำอธิบาย
expression นิพจน์ SQL ที่ใช้ในส่วนคำสั่ง WHERE
pattern สายอักขระหรือสายอักขระของตัวอักษร ซึ่ง expression ถูกนำมาเปรียบเทียบด้วย

หมายเหตุ
คุณสามารถใช้ตัวดำเนินการ Like เพื่อหาค่าในเขตข้อมูลหนึ่ง ซึ่งตรงกันกับรูปแบบที่คุณระบุ สำหรับ pattern คุณสามารถระบุค่าที่สมบูรณ์ (เช่น Like “Smith”) หรือคุณสามารถใช้ สัญลักษณ์ ตัวแทน เพื่อหาช่วงของค่าก็ได้ (เช่น Like “Sm*”)
ใน นิพจน์ คุณสามารถใช้ตัวดำเนินการ Like เพื่อเปรียบเทียบค่าของเขตข้อมูลกับนิพจน์สายอักขระได้ ตัวอย่างเช่น ถ้าคุณใส่ Like “C*” ในแบบสอบถาม SQL แบบสอบถามจะส่งกลับค่าของเขตข้อมูลทั้งหมดที่ขึ้นต้นด้วยตัวอักษร C ใน แบบ สอบถามแบบพารามิเตอร์ คุณสามารถพร้อมท์ผู้ใช้เพื่อให้ใส่รูปแบบที่จะใช้ในการค้นหาได้
ตัวอย่าง ต่อไปนี้จะส่งกลับข้อมูลที่ขึ้นต้นด้วยตัวอักษร P ตามด้วยตัวอักษรใดก็ได้ระหว่าง A ถึง F และตัวเลขสามตัว
Like “P[A-F]###”
ตารางต่อไปนี้แสดงวิธีที่คุณสามารถใช้ Like เพื่อทดสอบนิพจน์สำหรับรูปแบบต่างๆ

ลักษณะการเปรียบเทียบ

รูปแบบ
ตรงกัน
(ส่งกลับค่า True)
ไม่ตรงกัน
(ส่งกลับค่า False)
อักขระหลายอักขระ a*a aa, aBa, aBBBa aBC
*ab* abc, AABB, Xab aZb, bac
อักขระพิเศษ a[*]a a*a aaa
อักขระหลายอักขระ ab* abcdefg, abc cab, aab
อักขระตัวเดียว a?a aaa, a3a, aBa aBBBa
ตัวเลขตัวเดียว a#a a0a, a1a, a2a aaa, a10a
ช่วงของอักขระ [a-z] f, p, j 2, &
อักขระภายนอกช่วง [!a-z] 9, &, % b, a
ไม่ใช่ตัวเลข [!0-9] A, a, &, ~ 0, 1, 9
หลายแบบร่วมกัน a[!b-m]# An9, az0, a99 abc, aj0

การใช้สัญลักษณ์ตัวแทนใน การเปรียบเทียบสายอักขระ

นำไปใช้กับ: Microsoft Office Access 2003, Office 2003, Microsoft Access

การจับคู่กับรูปแบบที่มีอยู่แล้วภายในเป็นเครื่องมือเอนกประสงค์สำหรับ การเปรียบเทียบสายอักขระ ตารางต่อไปนี้จะแสดงสัญลักษณ์ตัวแทนที่คุณสามารถใช้ได้กับตัวดำเนินการ Like และจำนวนของตัวเลขหรือสายอักขระที่ตรงกัน
อักขระในรูปแบบ สิ่งที่ตรงกันในนิพจน์
? หรือ _ (ขีดเส้นใต้) อักขระใดๆ หนึ่งอักขระ
* หรือ % กี่อักขระก็ได้
# ตัวเลขหลักเดียวใดๆ (0— 9)
[charlist] อักขระใดๆ หนึ่งอักขระในcharlist
[!charlist] อักขระใดๆ หนึ่งอักขระที่ไม่อยู่ใน charlist

คุณสามารถใช้กลุ่มของอักขระอย่างน้อยหนึ่งอักขระ (charlist) ที่อยู่ภายในเครื่องหมายวงเล็บเหลี่ยม ([ ]) เพื่อให้ตรงกับอักขระใดๆ หนึ่งอักขระในนิพจน์ได้ และ charlist สามารถมีอักขระได้เกือบทุกอักขระที่อยู่ในชุดอักขระแบบ ANSI รวมทั้งตัวเลขด้วย คุณสามารถใช้อักขระพิเศษวงเล็บเหลี่ยมเปิด ([ ) เครื่องหมายคำถาม (?) สัญลักษณ์ตัวเลข (#) และเครื่อง หมายดอกจัน (*) เพื่อจับคู่กันโดยตรงก็ต่อเมื่ออยู่ในเครื่องหมายวงเล็บเหลี่ยม คุณไม่สามารถใช้เครื่องหมายวงเล็บเหลี่ยมปิด ( ]) ภายในกลุ่มเพื่อจับคู่กัน แต่คุณสามารถใช้เป็นอักขระแต่ละอักขระจากภายนอกกลุ่มได้
นอก จากรายการอักขระธรรมดาที่อยู่ภายในเครื่องหมายวงเล็บเหลี่ยมแล้ว charlist ยังสามารถระบุช่วงของอักขระได้โดยใช้เครื่องหมายขีดกลาง (-) เพื่อแยกขอบเขตบนและล่างของช่วง ตัวอย่างเช่น การใช้ [A-Z] ใน รูปแบบ จะให้ผลลัพธ์ที่ตรงกัน ถ้าตำแหน่งของอักขระที่เกี่ยวข้องในนิพจน์มี อักษรตัวพิมพ์ใหญ่ใดๆ ในช่วง A ถึง Z คุณสามารถรวมหลายช่วงไว้ภายในวงเล็บเหลี่ยมได้โดยไม่ต้องมีเครื่องหมายคั่น ช่วง ตัวอย่างเช่น [a-zA-Z0-9] จะจับคู่อักขระที่เป็นตัวเลขหรือตัวอักษรใดๆ
ให้ สังเกตว่าสัญลักษณ์ตัวแทน SQL ในรูปแบบ ANSI อันได้แก่ (%) และ (_) นั้น จะใช้ได้กับ Microsoft® Jet รุ่น 4.X และ Microsoft OLE DB Provider for Jet เท่านั้น โดยจะถือเสมือนเป็นตัวอักษรถ้าใช้งานผ่าน Microsoft Access หรือ DAO
กฎที่สำคัญอื่นๆ สำหรับการจับคู่รูปแบบมีดังต่อไปนี้
  • เครื่องหมายอัศเจรีย์ (!) ที่ขึ้นต้น charlist หมายความว่ามีการจับคู่ที่ตรงกันถ้าพบอักขระใดๆ ใน นิพจน์ ยกเว้นอักขระใน charlist เมื่อใช้เครื่องหมายอัศเจรีย์นอกวงเล็บเหลี่ยม เครื่องหมายอัศเจรีย์จะจับคู่กันเอง
  • คุณสามารถใช้เครื่องหมายขีดกลาง (-) ที่ส่วนต้น (หลังเครื่องหมายอัศเจรีย์ ถ้าใช้) หรือที่ส่วนท้ายของ charlist เพื่อให้จับคู่กันเอง ในตำแหน่งอื่นๆ เครื่องหมายขีดกลางจะระบุช่วงของอักขระ ANSI
  • เมื่อคุณระบุช่วงของอักขระ อักขระต่างๆ จะต้องปรากฏในลำดับการจัดเรียงจากน้อยไปหามาก (A-Z หรือ 0-100) โดย [A-Z] จะเป็นรูปแบบที่ถูกต้อง แต่ [Z-A] ไม่ถูกต้อง
  • ลำดับของอักขระ [ ] จะถูกละเว้น โดยจะพิจารณาเป็นสาย อักขระที่มีความยาวเป็นศูนย์ (“”)


0 comments:

Post a Comment

 

Copyright © Access เบื้องต้น Design by Gu