Зүй зохистой тоглолтонд зориулж Wildcards ашиглах
SQL загварын тохиргоо нь таныг хайж буй үг, хэллэгийг мэдэхгүй байгаа бол өгөгдөл дэх хэв маягийг хайх боломжийг олгодог. SQL query нь ийм төрлийн тэмдэгтийг ашигладаг. Жишээ нь, та "C%" орлуулагддаг тэмдэгтийг капитал В-ээс эхлэн ямар ч мөрийг тааруулахын тулд ашиглаж болно.
LIKE операторыг ашиглах
SQL асуултад орлуулагддаг тэмдэгтийг ашиглахын тулд LIKE операторыг WHERE хэсэгт зааж, загварыг нэг хашилтанд оруулаарай.
Энгийн хайлт хийхийн тулд% Wildcard ашиглан
Таны өгөгдлийн сангийн ажилтан хайж олохын тулд C үсэгнээс эхэлж сүүлийн нэрийг хайж олохын тулд дараах Transact-SQL мэдэгдлийг ашиглана уу:
SELECT * FROM employees WHERE last_name LIKE 'C%'Түлхүүр үг ашиглахгүй орхих аргууд
Загварын тохирохгүй кодыг сонгохдоо Түлхүүр үг хэллэгийг ашиглана уу. Жишээлбэл, энэ асуулга нь C:
SELECT * FROM employees WHERE last_name 'C%' гэж дургүйХандалтын аргыг ашиглах нь% Wildcard хоёр удаа ашигладаг
Зориулалтын загварыг хаана ч хэрэглэж болно. Энэ жишээ нь хамгийн сүүлийн нэрээр хаана ч байсан C бүх бичлэгийг буцаадаг:
SELECT * FROM employees WHERE last_name LIKE '% C%'Тодорхой байршил дээр таарч буй загвар олох
Тодорхой байршилд өгөгдлийг буцаахын тулд _ орлуулгыг ашиглана уу. Энэ жишээ нь зөвхөн C нь сүүлийн нэрний баганын гуравдахь байрлал дээр байх үед л таарч байна:
SELECT * FROM employees WHERE last_name LIKE '_ _C%'Шилжүүлгийн талбарт дэмжигдсэн орлуулсан илэрхийллүүд
Transact SQL-ийн дэмждэг хэд хэдэн орлуулагддаг тэмдэгтүүд байдаг:
- % Орлуулалт нь ямар ч төрлийн тэмдэгтүүдтэй таарч байгаа бөгөөд загвараас өмнө болон дараа аль алинд нь зэрлэг тэмдэгтүүдийг тодорхойлоход ашиглаж болно. Хэрэв та DOS загварын тохирсон загвартай танилцсан бол энэ нь уг синтаксийн * орлуулалттай тэнцүү юм.
- _ Орлуулагддаг тэмдэгт нь яг ямар ч төрлийн тэмдэгттэй таарч байна. Энэ нь үүнтэй тэнцүү юу? DOS загварын тохирсон орлуулагддаг тэмдэгт.
- Тэмдэгтүүдийн жагсаалтыг дөрвөлжин хаалтанд оруулаарай. Жишээлбэл, орлуулагддаг тэмдэгт нь [aeiou] ямар ч эгшигтэй таарч байна.
- Хэд хэдэн тэмдэгтийг квадрат хаалтанд хавсаргасан байна. Жишээ нь, орлуулагддаг тэмдэгт нь цагаан толгойн эхний хагаст үсэг таарч байна.
- Нүцгэн квадрат хаалт доторх каратын тэмдэгтийг оролцуулан олон тооны тэмдэгтүүдийг сөрөн зогс. Жишээлбэл, [^ aeiou] нь эгшиг биш тэмдэгтийг таарч байгаа бол [^ am] үсэгний эхний хагаст биш дурын тэмдэгттэй таардаг.
Цогцолборын хэв маягт зориулж Wildcards-г хослуулах нь
Эдгээр ил захидалууд нь нарийн төвөгтэй аргуудыг хослуулан илүү дэлгэрэнгүй асуултуудтай хослуулах боломжтой. Жишээ нь, та цагаан толгойн эхний хагасаас захидал бичсэн нэртэй бүх ажилчдыг жагсааж бичих хэрэгтэй. Дараах асуултыг та ашиглаж болно:
SELECT * FROM employees WHERE last_name LIKE '[am]% [^ aeiou]'Үүнтэй адилаар, та бүхэн ажилчдынхаа жагсаалтыг дөрвөн загвараар төгссөн дөрвөн нэрийг агуулсан сүүлийн нэрсээр үүсгэж болно:
SELECT * FROM ажилчид WHERE last_name LIKE '____'SQL өгөгдлийн тохирох чадварыг ашиглах нь өгөгдлийн сангийн хэрэглэгчид энгийн текст асуултуудаас илүү давуу болон хайлт хийх боломжтой байдаг.