المعامل LIKE
< SQL
يستخدم هذا المعامل لتحديد نمط معين للسلسلة النصية يُحدد الشرط وفقًا له، ويوضح الجدول الآتي الرموز المستخدمة في صياغة هذا النمط:
الرمز | استخدامه |
---|---|
%
|
أي سلسلة نصّية خالية أو بمحرف أو أكثر |
_
|
محرف وحيد |
مثال
إن كان الجدول الآتي customers
في قاعدة البيانات:
Bill | OrderID | FullName | CustomerID |
---|---|---|---|
160 | 0291 | Abd al-Salam Hadi | 1156 |
170 | 0302 | Ahmad Mostafa | 1157 |
210 | 0203 | Reem Hammad | 1158 |
350 | 0294 | Abd Allah Sadiq | 1159 |
185 | 0255 | Raghad al-Hamdan | 1160 |
165 | 0276 | Abd al-Razzaq Salloum | 1161 |
175 | 0247 | Hussam Siraj | 1162 |
180 | 0208 | Hiba Maktabi | 1163 |
170 | 0219 | Abd al-Rahman Rida | 1164 |
220 | 0210 | Abd al-Qader Khalil | 1165 |
إن تنفيذ الاستعلام الآتي:
SELECT *
FROM customers
WHERE FullName LIKE 'H%' OR (FullName LIKE 'A%' AND FullName NOT LIKE '_b_%');
حيث أن :
أي سلسلة نصية في بدايتها H | 'H%' |
---|---|
أي سلسلة نصية في بدايتها A | 'A%' |
أي سلسلة نصية في بدايتها على الأقل ثلاث محارف والمحرف الثاني حصراً b | '%_b_' |
سيؤدي لعرض كافة النتائج للزبائن الذين تبدأ أسماؤهم بحرف H أو بحرف A ولكن دون أن يكون الحرف الثاني b ويليه حرف ثم أي تسلسل للمحارف، وستظهر النتائج:
Bill | OrderID | FullName | CustomerID |
---|---|---|---|
170 | 0302 | Ahmad Mostafa | 1157 |
175 | 0247 | Hussam Siraj | 1162 |
180 | 0208 | Hiba Maktabi | 1163 |
التوافقية
SQLServer | SQLite | Oracle | PostgreSQL | MySQL |
---|---|---|---|---|
نعم | نعم | نعم | نعم | نعم |