الفرق بين المراجعتين لصفحة: «SQL/like»

من موسوعة حسوب
< SQL
لا ملخص تعديل
 
 
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 75: سطر 75:
WHERE FullName LIKE 'H%' OR (FullName LIKE 'A%' AND FullName NOT LIKE '_b_%');
WHERE FullName LIKE 'H%' OR (FullName LIKE 'A%' AND FullName NOT LIKE '_b_%');


</syntaxhighlight>سيؤدي لعرض كافة النتائج للزبائن الذين تبدأ أسماؤهم بحرف H أو بحرف A  ولكن دون أن يكون الحرف الثاني b ويليه حرف ثم أي تسلسل للمحارف، وستظهر النتائج:
</syntaxhighlight>حيث أن :
{| class="wikitable"
!أي سلسلة نصية في بدايتها H
!'H%'
|-
|أي سلسلة نصية في بدايتها A
|'A%'
|-
|أي سلسلة نصية في بدايتها على الأقل ثلاث محارف والمحرف الثاني حصراً b
|'%_b_'
|}
سيؤدي لعرض كافة النتائج للزبائن الذين تبدأ أسماؤهم بحرف H أو بحرف A  ولكن دون أن يكون الحرف الثاني b ويليه حرف ثم أي تسلسل للمحارف، وستظهر النتائج:
{| class="wikitable"
{| class="wikitable"
!Bill
!Bill
سطر 119: سطر 130:
* [https://www.postgresql.org/docs/9.0/static/functions-matching.html توثيق LIKE في محرك PostgreSQL]
* [https://www.postgresql.org/docs/9.0/static/functions-matching.html توثيق LIKE في محرك PostgreSQL]
* [https://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html توثيق LIKE في محرك MySQL]
* [https://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html توثيق LIKE في محرك MySQL]
[[تصنيف:SQL]]
[[تصنيف:SQL|{{SUBPAGENAME}}]]
[[تصنيف:SQL Operators]]
[[تصنيف:SQL Operators|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 12:14، 24 نوفمبر 2019

يستخدم هذا المعامل لتحديد نمط معين للسلسلة النصية يُحدد الشرط وفقًا له، ويوضح الجدول الآتي الرموز المستخدمة في صياغة هذا النمط:

الرمز استخدامه
% أي سلسلة نصّية خالية أو بمحرف أو أكثر
_ محرف وحيد

مثال

إن كان الجدول الآتي 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
نعم نعم نعم نعم نعم

مصادر