Latest web development tutorials

ข้อ SQLite Glob

SQLite ผู้ประกอบการGLOB ถูกนำมาใช้เพื่อให้ตรงกับค่าข้อความที่ระบุรูปแบบสัญลักษณ์แทนหากการแสดงออกการค้นหาและจับคู่รูปแบบการแสดงออกของผู้ประกอบการ GLOB ผลตอบแทนจริง (จริง) ซึ่งเป็น 1 และผู้ประกอบการเหมือนที่แตกต่างกัน GLOB เป็นกรณีที่สำคัญสำหรับสัญลักษณ์ต่อไปนี้ซึ่งเป็นไปตามไวยากรณ์ยูนิกซ์

  • เครื่องหมายดอกจัน (*)

  • เครื่องหมายคำถาม (?)

เครื่องหมายดอกจัน (*) หมายถึงศูนย์หนึ่งหรือมากกว่าตัวเลขหรือตัวอักษร เครื่องหมายคำถาม (?) หมายถึงตัวเลขหลักเดียวหรือตัวอักษร สัญลักษณ์เหล่านี้สามารถนำมาใช้ในการรวมกัน

ไวยากรณ์

? * และไวยากรณ์พื้นฐานจะเป็นดังนี้:

เลือกจาก table_name
WHERE GLOB คอลัมน์ "XXXX * '

หรือ 

เลือกจาก table_name
WHERE GLOB คอลัมน์ "* * * * * * * * XXXX '

หรือ

เลือกจาก table_name
WHERE GLOB คอลัมน์ "XXXX?

หรือ

เลือกจาก table_name
WHERE GLOB คอลัมน์ '? XXXX'

หรือ

เลือกจาก table_name
WHERE GLOB คอลัมน์ '? XXXX?

หรือ

เลือกจาก table_name
WHERE GLOB คอลัมน์ '????'

คุณสามารถใช้และหรือหรือผู้ประกอบการที่จะรวมจำนวน n เงื่อนไข นี่ XXXX สามารถเป็นตัวเลขหรือสตริงใด ๆ ค่า

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงข้อ GLOB สถานที่ที่แตกต่างกันด้วย '*' และผู้ประกอบการ '?':

语句描述
WHERE SALARY GLOB '200*'查找以 200 开头的任意值
WHERE SALARY GLOB '*200*'查找任意位置包含 200 的任意值
WHERE SALARY GLOB '?00*'查找第二位和第三位为 00 的任意值
WHERE SALARY GLOB '2??'查找以 2 开头,且长度至少为 3 个字符的任意值
WHERE SALARY GLOB '*2'查找以 2 结尾的任意值
WHERE SALARY GLOB '?2*3'查找第二位为 2,且以 3 结尾的任意值
WHERE SALARY GLOB '2???3'查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

ลองมาเป็นตัวอย่างในทางปฏิบัติ บริษัท ตารางสมมติว่ามีการบันทึกต่อไปนี้:

ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
1 เปาโล 32 20,000.0 แคลิฟอร์เนีย
2 อัลเลน 25 15,000.0 เท็กซัส
เท็ดดี้ 3 23 นอร์เวย์ 20,000.0
4 มาร์ครวย 25-Mond 65,000.0
5 ดาวิด 27 85,000.0 เท็กซัส
6 คิม 22 ใต้ 45,000.0 ฮอลล์
7 เจมส์ 24 ฮุสตัน 10,000.0

นี่คือตัวอย่างที่แสดงให้เห็นว่ามันอายุตาราง บริษัท 2 ระเบียนทั้งหมดที่ขึ้นต้นด้วย:

SQLite> * เลือกจาก บริษัท AGE GLOB '2 *';

นี้ก่อให้เกิดผลลัพธ์ต่อไปนี้:

ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
2 อัลเลน 25 15,000.0 เท็กซัส
เท็ดดี้ 3 23 นอร์เวย์ 20,000.0
4 มาร์ครวย 25-Mond 65,000.0
5 ดาวิด 27 85,000.0 เท็กซัส
6 คิม 22 ใต้ 45,000.0 ฮอลล์
7 เจมส์ 24 ฮุสตัน 10,000.0

นี่คือตัวอย่างจะแสดงตาราง บริษัท ข้อความที่อยู่มียัติภังค์ (-) ระเบียนทั้งหมด:

SQLite> SELECT * จาก บริษัท ที่อยู่ GLOB '* - *';

นี้ก่อให้เกิดผลลัพธ์ต่อไปนี้:

ID NAME เงินเดือนอายุที่อยู่
---------- ---------- ---------- ---------- ----------
4 มาร์ครวย 25-Mond 65,000.0
6 คิม 22 ใต้ 45,000.0 ฮอลล์