83 lines
4.6 KiB
Markdown
83 lines
4.6 KiB
Markdown
|
---
|
||
|
title: SQL LIKE Operator
|
||
|
localeTitle: SQL LIKE المشغل
|
||
|
---
|
||
|
## SQL LIKE المشغل
|
||
|
|
||
|
### مثل المشغل المحدد
|
||
|
|
||
|
يتم استخدام معامل `LIKE` في `WHERE` أو `HAVING` (كجزء من `GROUP BY` ) لتحديد الصفوف المحددة للعناصر عندما يحتوي العمود على نمط معين من الأحرف الموجودة فيه.
|
||
|
|
||
|
### سيوضح هذا الدليل:
|
||
|
|
||
|
* تحديد ما إذا كانت السلسلة تبدأ أو تنتهي بنمط سلسلة محدد
|
||
|
* تحديد ما إذا كان هناك نمط موجود في منتصف السلسلة
|
||
|
* تحديد ما إذا كانت سلسلة غير موجودة في السلسلة
|
||
|
|
||
|
### يبدأ العمود أو ينتهي بنمط سلسلة محدد
|
||
|
|
||
|
سيحدد هذا SQL الطلاب الذين لديهم `FullName` بدءًا من "Monique" أو تنتهي بـ "Greene".
|
||
|
|
||
|
`SELECT studentID, FullName, sat_score, rcd_updated
|
||
|
FROM student
|
||
|
WHERE
|
||
|
FullName LIKE 'Monique%' OR -- note the % at the end but not the beginning
|
||
|
FullName LIKE '%Greene'; -- note the % at the beginning but not the end
|
||
|
`
|
||
|
|
||
|
`+-----------+---------------+-----------+---------------------+
|
||
|
| studentID | FullName | sat_score | rcd_updated |
|
||
|
+-----------+---------------+-----------+---------------------+
|
||
|
| 1 | Monique Davis | 400 | 2017-08-16 15:34:50 |
|
||
|
| 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 |
|
||
|
+-----------+---------------+-----------+---------------------+
|
||
|
2 rows in set (0.00 sec)
|
||
|
`
|
||
|
|
||
|
### يوجد نمط سلسلة في منتصف العمود
|
||
|
|
||
|
سيحدد هذا SQL الطلاب الذين لديهم "ree" في أي مكان في الاسم.
|
||
|
|
||
|
`SELECT studentID, FullName, sat_score, rcd_updated
|
||
|
FROM student
|
||
|
WHERE FullName LIKE '%ree%'; -- note the % at the beginning AND at the end
|
||
|
`
|
||
|
|
||
|
`+-----------+----------------+-----------+---------------------+
|
||
|
| studentID | FullName | sat_score | rcd_updated |
|
||
|
+-----------+----------------+-----------+---------------------+
|
||
|
| 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 |
|
||
|
| 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 |
|
||
|
+-----------+----------------+-----------+---------------------+
|
||
|
2 rows in set (0.00 sec)
|
||
|
`
|
||
|
|
||
|
### السلسلة ليست في العمود
|
||
|
|
||
|
يمكنك وضع "NOT" قبل LIKE لاستبعاد الصفوف بنمط السلسلة بدلاً من تحديدها. يستثني هذا SQL السجلات التي تحتوي على "cer Pau" و "Ted" في العمود FullName.
|
||
|
|
||
|
`SELECT studentID, FullName, sat_score, rcd_updated
|
||
|
FROM student
|
||
|
WHERE FullName NOT LIKE '%cer Pau%' AND FullName NOT LIKE '%"Ted"%';
|
||
|
`
|
||
|
|
||
|
`+-----------+----------------------+-----------+---------------------+
|
||
|
| studentID | FullName | sat_score | rcd_updated |
|
||
|
+-----------+----------------------+-----------+---------------------+
|
||
|
| 1 | Monique Davis | 400 | 2017-08-16 15:34:50 |
|
||
|
| 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 |
|
||
|
| 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 |
|
||
|
| 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 |
|
||
|
| 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 |
|
||
|
| 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 |
|
||
|
| 9 | Raymond F. Boyce | 2400 | 2017-08-16 15:35:33 |
|
||
|
+-----------+----------------------+-----------+---------------------+
|
||
|
7 rows in set (0.00 sec)
|
||
|
`
|
||
|
|
||
|
_في ما يلي قائمة الطلاب الكاملة الحالية للمقارنة مع مكان تعيين نتيجة الجملة أعلاه._
|
||
|
|
||
|
`SELECT studentID, FullName, sat_score, rcd_updated FROM student;
|
||
|
`
|
||
|
|
||
|
\`\` \`النص + ----------- + ------------------------ + ----------- + --------------------- + | studentID | FullName | _درجة_ جلس _|_ تحديث _Rcd_ | + ----------- + ------------------------ + ----------- + --------------------- + | 1 | مونيك ديفيز 400 | 2017-08-16 15:34:50 | | 2 | تيري جوتيريز | 800 | 2017-08-16 15:34:50 | | 3 | سبنسر باوتير | 1000 | 2017-08-16 15:34:50 | | 4 | لويس رمزي 1200 | 2017-08-16 15:34:50 | | 5 | ألفين غرين | 1200 | 2017-08-16 15:34:50 | | 6 | صوفي فريمان 1200 | 2017-08-16 15:34:50 | | 7 | إدغار فرانك "تيد" كود 2400 | 2017-08-16 15:35:33 | | 8 | دونالد د. شامبرلين 2400 | 2017-08-16 15:35:33 | | 9 | ريمون ف. بويس 2400 | 2017-08-16 15:35:33 | + ----------- + ------------------------ + ----------- + --------------------- + 9 صفوف في مجموعة (0.00 ثانية)
|