عملگر LIKE در عبارت WHERE برای جستجوی یک الگوی خاص در یک ستون استفاده می شود.

مانند عبارت SQL

عملگر LIKE برای جستجوی یک الگوی خاص در یک ستون استفاده می شود.

SQL LIKE Syntax

پایگاه داده نسخه ی نمایشی

در این آموزش از پایگاه داده معروف Northwind استفاده خواهیم کرد.

در زیر منتخبی از جدول "مشتریان" آمده است:

شناسه کاربرنام مشتریفرد تماسنشانیشهرکد پستیکشور
1 آلفرد فوترکیست ماریا آندرس اوبره خ. 57 برلین 12209 آلمان
2 Ana Trujillo Emparedados و Helados آنا تروخیلو آودا. de la Constitucion 2222 مکزیک D.F. 05021 مکزیک
3 آنتونیو مورنو تاکوریا آنتونیو مورنو ماتادروس 2312 مکزیک D.F. 05023 مکزیک
4 اطراف شاخ توماس هاردی میدان هانوفر 120 لندن WA1 1DP انگلستان
5 Berglunds snabbkop کریستینا برگلوند برگووسواگن 8 لولیا S-958 22 سوئد

مثال‌های اپراتور SQL LIKE

عبارت SQL زیر همه مشتریانی را انتخاب می کند که شهری با حرف "s" شروع می شود:

مشاوره:علامت "%" برای تعریف ماسک (حروف از دست رفته) قبل و بعد از نقاشی استفاده می شود. در فصل بعدی در مورد حروف عام بیشتر خواهید آموخت.

دستور SQL زیر همه مشتریان با شهری که با حرف "s" ختم می شود را انتخاب می کند:

عبارت SQL زیر همه مشتریان دارای کشور حاوی الگوی "land" را انتخاب می کند:

استفاده از کلمه کلیدی شما را از انتخاب ورودی هایی که با الگو مطابقت ندارند جلوگیری می کند.

عبارت SQL زیر همه مشتریان با کشوری را انتخاب می کند که شامل الگوی "land" نیست.

LIKE و REGEXP_LIKE

عملگرهای LIKE و REGEXP_LIKE در جستارها Oracle SQL، نمادهای % و _، عبارات با قاعدهدر درخواست ها

خیلی اوقات در کار عملیانجام یک جستجوی مجموعه کاراکترها در هر نقطه از یک ستون ضروری است - به عنوان مثال، برای جستجوی همه رکوردها با نام محصول حاوی یک کلمه، یا جستجو برای یک کلمه به صورت مفرد و جمع. برای این منظور می توانید از عملگر LIKE در Oracle SQL (در SQL Server نیز قابل استفاده است) و عملگر REGEXP _LIKE (این عملگر در SQL Server ارائه نشده است) استفاده کنید.

بیایید بگوییم که LIKE و REGEXP _LIKE فقط در موقعیت های نسبتا ساده استفاده می شوند. اگر نیاز به جستجو بر اساس دستور زبان، فیلتر کردن کلمات نویز و غیره دارید، باید از جستجوی تمام متن استفاده کنید.

عملگر LIKE برای تطبیق مقادیر کاراکترها در برابر یک الگو با کاراکترهای وایلد ویژه (فراراکترها) استفاده می شود. توجه داشته باشید که Oracle چهار نوع از این عملگر را ارائه می دهد:

· "عادی" LIKE - برای پرس و جو ستون های رشته ای با رمزگذاری های سنتی استفاده می شود.

· LIKEC - برای ستون هایی با رمزگذاری یونیکد (در اصطلاح اوراکل - یونیکد کامل) استفاده می شود.

· LIKE2 - برای رمزگذاری UCS2.

· LIKE4 - برای رمزگذاری UCS4.

نمونه ای از استفاده از این عملگر ممکن است به شکل زیر باشد:

پسندیدن"R%"؛

در این مثال، نام نام خانوادگی بعد از کلمه کلیدی Where ستونی است که مقادیر رشته از آن برای تست گرفته شده است و "R%" شرط آزمایش است. ویژگی متمایزاز عملگر LIKE این است که می تواند کاراکترهای عام خاص (متاکاکترها) را در شرایط شامل شود. برای این عملگر فقط دو علامت وجود دارد:

  • % - هر دنباله ای از صفر یا بیشتر را نشان می دهد. در این حالت، مقدار "%" هرگز برابر با NULL نخواهد بود (IS NULL برای بررسی چنین مقادیری استفاده می شود).
  • _ - هر شخصیت واحد را نشان می دهد.

در مثال خود، از علامت عام % استفاده کردیم، بنابراین پرس و جو همه کارمندانی که نام خانوادگی آنها با R شروع می شود را برمی گرداند.

اگر بخواهیم علامت درصد (%) و زیرخط (_) توسط Oracle به عنوان کاراکترهای قابل جستجوی معمولی (و نه به عنوان حروف عام) در نظر گرفته شود، پارامتر ESCAPE را در اختیار داریم. با این گزینه می توانید تعریف کنید شخصیت خاص، پس از آن کاراکتر عام عادی در نظر گرفته می شود:

last_name را از hr.employees که در آن last_name انتخاب کنید پسندیدن"R\%" ESCAPE "\";

در مثال ما، کاراکتر \ را به عنوان یک رد نویسی تعریف کرده ایم، و اگر کارمندی با نام خانوادگی داشته باشیم R٪، سپس پرس و جو قطعا آن را برمی گرداند. متداول ترین کاراکتر فرار از حروف عام، اسلش (\) است که آشناترین معنی برای برنامه نویسان C است، اما شما می توانید با تعریف آن با ESCAPE از هر کاراکتری استفاده کنید.

استفاده از شرط LIKE دشوار نیست، اما مجموعه ای از امکانات بسیار محدود دارد. خیلی بزرگتر عملکردیک شرط REGEXP _LIKE را فراهم می کند که به شما امکان می دهد یک شرط جستجو را با استفاده از عبارات منظم سازگار با POSIX مشخص کنید. عبارات منظم موضوع بسیار بزرگی است که از حوصله این آموزش خارج است. برای یک مرجع کامل در مورد عبارات منظم پشتیبانی شده توسط Oracle، به پیوست C کتاب مرجع SQL در اسناد Oracle مراجعه کنید. در اینجا فقط یک مثال ساده می آوریم:

first_name از کارکنان را انتخاب کنید

WHERE REGEXP_LIKE (first_name, "^Ste(v|ph)en$");

در این مثال، ما اطلاعات مربوط به همه کارمندانی را که نامشان با Ste شروع می شود، با en ختم می شود و در بین آنها v یا ph دارد، برمی گردانیم. نتیجه ممکن است به این صورت باشد:

استیون

استیون

یک عبارت رشته ای را با یک الگو در یک عبارت SQL مقایسه می کند.

نحو

اصطلاح پسندیدن "نمونه"

نحو اپراتور پسندیدنشامل اجزای زیر است:

ملاحظات

اپراتور پسندیدنمی توان برای جستجوی مقادیر فیلدهایی که با الگوی مشخص شده مطابقت دارند استفاده کرد. مانند قالبمی توانید مقدار کامل را مشخص کنید (مثلاً مانند "Smith") یا از حروف عام برای به دست آوردن محدوده ای از مقادیر استفاده کنید (مثلاً مانند "Sm*")).

در عبارات، عملگر پسندیدنمی توان برای مقایسه مقدار فیلد با عبارت رشته ای استفاده کرد. به عنوان مثال، اگر در پرس و جوی SQLمانند "C*" را مشخص کنید، پرس و جو تمام مقادیر فیلدهایی را که با حرف C شروع می شوند برمی گرداند. در یک پرس و جو با پارامترها، می توانید از کاربر بخواهید که یک الگوی جستجو را وارد کند.

مثال زیر داده‌هایی را برمی‌گرداند که با حرف P شروع می‌شوند و هر حرفی از A تا F و سه رقم را دنبال می‌کند:

مانند "P###"

جدول زیر نحوه استفاده از اپراتور را نشان می دهد پسندیدنبرای بررسی الگوهای مختلف:


نوع مطابقت


نمونه

مطابقت

مطابقت ندارد
("درست" را برمی گرداند)

شخصیت های متعدد

aa، aBa، aBBBA

abc، AABB، کابین

شخصیت های خاص

شخصیت های متعدد

abcdeyo، abc

یک شخصیت

aaa, a3a, aba

یک رقمی

a0a، a1a، a2a

محدوده کاراکتر

خارج از محدوده

مختلط

سودمندی بند LIKE از عملگرهای تعمیم پشتیبانی می شود. اگر مقایسه مطابقت پیدا کند، عبارت LIKE مقدار بولی TRUE را برمی‌گرداند.

برای عملکرد بند LIKE، حساسیت به حروف کوچک و بزرگ یک DBMS خاص بسیار مهم است. مثلا، مایکروسافت SQLسرور به طور پیش‌فرض به حروف بزرگ و کوچک حساس نیست (اگرچه می‌توان آن را بر این اساس پیکربندی کرد). بنابراین SQL Server ردیف های DAD و پدر را یکسان می کند. از سوی دیگر، پلتفرم اوراکل به حروف کوچک و بزرگ حساس است و رشته‌های DAD و پدر در اینجا متفاوت خواهند بود. در اینجا یک مثال برای بهتر نشان دادن این موضوع آورده شده است.

انتخاب * از نویسندگان در جایی که نام آن مانند "LARS%" است

این پرس و جو برای مایکروسافت SQL Server سوابق را از جدول نویسندگان بازیابی می کند که در آن نام خانوادگی (lname) "larson" یا "lars" است، حتی اگر جستجو با استفاده از حروف بزرگ ("LARS٪") در پرس و جو تعریف شده باشد. در اوراکل، این پرس و جو نام های خانوادگی "Larson" یا "Lars" را پیدا نمی کند زیرا اوراکل یک مقایسه حساس به حروف بزرگ انجام می دهد.

DB2

پلت فرم DB2 از نحو عبارت ANSI SQL 2003 LIKE پشتیبانی می کند. دنباله های لغو پشتیبانی می شوند.

پلتفرم DB2 به حروف کوچک و بزرگ حساس است، بنابراین اجرای بند LIKE در اینجا کاملاً به حروف بزرگ و کوچک حساس است. برای مقایسه همیشه مقادیر حساس به حروف بزرگ، از تابع UPPER یا TRANSLATE استفاده کنید. علاوه بر این، DB2 به طور ضمنی صفحه کد یک الگوی رشته یا دنباله فرار را به یک صفحه کد عبارت تبدیل می‌کند، مگر اینکه آنها با عبارت FOR BIT DATA مشخص شده باشند.

MySQL

پلت فرم MySQL از نحو ANSI برای عبارت LIKE پشتیبانی می کند. علامت‌های عام % و زیرخط (_) پشتیبانی می‌شوند. بند ESCAPE نیز پشتیبانی می شود.

علاوه بر این، MySQL از توابع ویژه REGEXP و NOT RLIKE که در اعتبار سنجی عبارت منظم استفاده می شوند، پشتیبانی می کند. MySQL بعد از نسخه 3.23.4 به طور پیش فرض به حروف بزرگ و کوچک حساس نیست.

اوراکل

پلتفرم اوراکل از دستور ANSI برای عبارت LIKE پشتیبانی می کند. علامت‌های عام % و زیرخط (_) پشتیبانی می‌شوند. بند ESCAPE نیز پشتیبانی می شود. سینتکس عبارت LIKE در اوراکل به شرح زیر است.

عبارت WHERE (LIKE | LIKEC | LIKE2 |

LIKE4) string_pattern

عناصر نحوی خاص اوراکل معانی زیر را دارند.

استفاده شده مجموعه کاملکاراکترهای یونیکد

مجموعه کاراکترهای UNICODE USC2 استفاده شده است.

از مجموعه کاراکترهای UNICODE USC4 استفاده شده است.

از آنجایی که پلتفرم اوراکل به حروف کوچک و بزرگ حساس است، باید یک عبارت، string_pattern یا هر دو را در تابع UPPER قرار دهید. در این مورد، شما همیشه آنچه را که نیاز دارید مقایسه خواهید کرد.

PostgreSQL

پلت فرم PostgreSQL از نحو عبارت ANSI LIKE پشتیبانی می کند. علامت‌های عام % و زیرخط (_) پشتیبانی می‌شوند. دنباله های لغو نیز پشتیبانی می شوند.

PostgreSQL به طور پیش فرض به حروف بزرگ و کوچک حساس است. برای مقایسه حساس به حروف بزرگ، PostgreSQL کلمه کلیدی ILIKE را ارائه می کند. همچنین می توانید از عملگر - به عنوان معادل LIKE و -* معادل ILIKE و !- و !-* به ترتیب معادل NOT LIKE و NOT ILIKE استفاده کنید. اینها همه پسوندهای استاندارد ANSI هستند که در PostgreSQL وجود دارد.

به عنوان مثال، پرس و جوهای زیر از نظر عملکردی معادل هستند.

انتخاب * از نویسندگان جایی که شهر مانند "%ville"; انتخاب * از نویسندگان WHERE city -- ^ville";

از آنجایی که در این نمونه ها از حروف کوچک استفاده می شود، ممکن است با یک مشکل حساس به حروف بزرگ و کوچک مواجه شوید. یعنی پرس و جو رشته "%ville" را با حروف کوچک جستجو می کند، و جدول ممکن است حاوی مقادیر بزرگ باشد که در نتایج گنجانده نمی شود - "BROWNSVILLE"، "NASHVILLE"، "HUNTSVILLE". این مشکل همانطور که در مثال زیر نشان داده شده است قابل حل است.

تبدیل مقادیر به حروف بزرگ

SELECT * از نویسندگان WHERE city LIKE UPPER("%ville");

مقایسه‌ای به حروف بزرگ و کوچک انجام دهید SELECT * FROM نویسندگان WHERE city ~~* "%ville";

انتخاب * از نویسندگان جایی که شهر مانند "%ville";

شما باید آگاه باشید (اگرچه این خارج از محدوده این کتاب است) که PostgreSQL از عبارات منظم POSIX نیز پشتیبانی می کند. جزئیات در توضیحات پلت فرم آورده شده است.

SQL Server

پلت فرم SQL Server از نحو عبارت ANSI LIKE پشتیبانی می کند. دنباله های لغو پشتیبانی می شوند. عملگرهای تعمیم اضافی زیر نیز پشتیبانی می شوند.

با هر مقدار از مجموعه مشخص شده، مانند، یا محدوده، مانند [k-n] مطابقت دارد.

[L]- با هر کاراکتری که در مجموعه یا محدوده مشخص شده نیست مطابقت دارد.

استفاده از تعمیم اضافی عبارات SQLسروری که دریافت می کنید ویژگی های اضافی. برای مثال، ممکن است بخواهید سوابق نویسندگانی را که نام خانوادگی آنها کارسون، کارسن، کارسون یا کارسن است، بازیابی کنید.

انتخاب * از نویسندگان WHERE au_lname مانند "arsn"

انتخاب * از نویسندگان WHERE au_lname مانند "arsn"

مبحث 3.2. انتخاب داده ها با استفاده از عبارت SELECT

تمام عبارات SQL که برای انتخاب داده ها از جداول پایگاه داده موجود طراحی شده اند با کلمه کلیدی (اپراتور) SELECT (انتخاب) شروع می شوند. برای اصلاح پرس و جو، از عملگرهای اضافی مانند FROM (از)، WHERE (از کجا) و غیره استفاده می شود.

ساده ترین نحو برای یک کوئری SELECT این است:

انتخاب کنید<список столбцов>

از جانب<список таблиц>

اپراتورهایی که ممکن است در پرس و جو وجود نداشته باشند فهرست شده اند. این عملگرها برای اصلاح درخواست واکشی داده استفاده می شوند:

پ جایی که(کجا) - رکوردهایی را نشان می دهد که باید در جدول حاصل (فیلتر رکورد) گنجانده شود.

پ دسته بندی بر اساس(گروه بر اساس) - رکوردها را بر اساس مقادیر ستون های خاص گروه بندی می کند.

پ داشتن(داشتن، موضوع) - گروه هایی از رکوردها را نشان می دهد که باید در جدول حاصل (فیلتر گروه) گنجانده شوند.

پ سفارش داده شده توسط(مرتب سازی بر اساس) - مرتب سازی (ترتیب) رکوردها.

اپراتورها انتخاب کنیدو از جانباجباری هستند. کلمه کلیدی SELECT به پایگاه داده می گوید که عبارت داده شده درخواستی برای بازیابی اطلاعات است. بعد از کلمه SELECT از طریق ""، نام ستون هایی که محتوای آنها درخواست شده است فهرست می شود. پس از کلمه FROM لیستی از نام جدول (با "" از هم جدا شده است) که اطلاعات از آن بازیابی می شود.

مثال:

نام، نام خانوادگی را انتخاب کنید

درخواست بالا همه مقادیر NAME و SURNAME را از جدول STUDENTS واکشی می کند. نتیجه یک جدول با 2 ستون است.

ترتیب ستون ها در این جدول با ترتیب فیلدهای مشخص شده در پرس و جو مطابقت دارد نه ترتیب آنها در جدول STUDENTS.

اگر نیاز به دریافت تمام ستون های جدول دارید، به جای لیستی از ستون ها، کافی است نماد را مشخص کنید ( *) .

مثال:

انتخاب کنید *

بلافاصله پس از عبارت SELECT قبل از لیست ستون ها، می توانید درخواست دهید کلید واژه هاهمه (همه)و متمایز (ناهمسان)، که مشخص می کند کدام رکوردها در جدول حاصل نمایش داده شود. در صورت عدم استفاده از این کلمات کلیدی، فرض بر این است که تمام رکوردها باید انتخاب شوند (که همچنین مانند استفاده از کلمه کلیدی ALL است). هنگامی که از DISTINCT استفاده می شود، تنها رکوردهای منحصر به فرد در جدول به دست آمده ارائه می شوند. در این حالت، اگر چندین رکورد یکسان در جدول منبع وجود داشته باشد، تنها اولین مورد از آنها انتخاب می شود.

مثال:

شهر متمایز را انتخاب کنید

اگر بیش از یک جدول در عبارت FROM مشخص شده باشد، نام ستون ها در عبارت SELECT باید شامل پیشوندها، نشان می دهد که آنها متعلق به کدام جدول هستند. پیشوند با یک نقطه از نام ستون جدا می شود.

مثال:

اصطلاحنام دانش آموز به معنی ستون استنام از جدولدانش آموزان

سرصفحه های ستون در جدول به دست آمده را می توان به صلاحدید شما با اختصاص دادن به اصطلاح دوباره تعریف کرد. نام مستعار. برای انجام این کار، در لیست ستون های بعد از ستون مربوطه، عبارتی از فرم را بنویسید: AS ستون-سربرگ

مثال:

نام را به عنوان نام، نام خانوادگی به عنوان نام خانوادگی انتخاب کنید

همچنین می توان برای هر جدول بعد از کلمه کلیدی FROM نام مستعار مشخص کرد. برای این کار کافی است یک نام مستعار که با فاصله ای بلافاصله بعد از نام جدول مربوطه از هم جدا شده است را مشخص کنید. نام مستعار جدولی که کوتاهتر از نام آنها هستند در پرس و جوهای پیچیده مفید هستند.

مثال:

T1.NAME، T1.SURNAME، T2.SUM_STIPEND را انتخاب کنید

از دانش آموزان T1، STIEND T2;

بیانیه WHERE

شرایط جستجو در عبارت WHERE عبارت های بولی هستند، یعنی. یکی از سه را بگیرید مقادیر ممکن: درست است، واقعی, نادرستو خالی (این زمانی اتفاق می افتد که برخی از عناصر عبارت NULL باشند). بنابراین، در SQL با منطق سه ارزشی سروکار داریم.

هنگام کامپایل عبارات منطقی، از کلمات کلیدی و نمادهای عملیات مقایسه استفاده می شود که به آنها محمول می گویند:

ü محمول های مقایسه ای: (=)، (<), (>), (<>), (<=), (>=);

ü LIKE، NOT LIKE;

ü همه، برخی، هر کدام؛

مثال:

WHERE نام خانوادگی = "Petrov";

در نتیجه اجرای پرس و جو، یک جدول یک ستونی به دست می آید که شامل نام همه دانش آموزان به نام پتروف است که در جدول STUDENTS قرار دارند.

مثال:

درخواست نام و نام خانوادگی دانشجویان شاغل به تحصیل در سال سوم و دریافت بورسیه را بنویسید:

نام، نام خانوادگی را انتخاب کنید

WHERE KURS=3 AND STIPEND>0;

بین اپراتور

گزاره BETWEEN (بین) به شما امکان می دهد یک عبارت را برای بررسی اینکه آیا یک مقدار در محدوده تعریف شده توسط مقادیر مرزی قرار دارد مشخص کنید.

مثال:

SUBJECT_NAME را انتخاب کنید

جایی که ساعت بین 30 و 40؛

خروجی نام موضوعاتی که مطالعه آنها تعداد ساعت در محدوده 30 تا 40 داده شده است.

مقادیر حدی در محدوده مقادیری هستند که مقایسه انجام می شود.

معادل عبارت فوق یک عبارت با محمولات مقایسه است:

SUBJECT_NAME را انتخاب کنید

WHERE HOURS> 30 و ساعت<40;

علاوه بر داده‌های نوع عددی، عبارات با BETWEEN می‌توانند از داده‌هایی از انواع زیر استفاده کنند: کاراکتر، بیت، تاریخ-زمان.

اپراتورهای IN و NOT IN

گزاره های IN (in) و NOT IN (not in) برای آزمایش اینکه آیا یک مقدار در یک لیست داده شده از مقادیر قرار دارد یا خیر استفاده می شود.

در صورتی که مقدار فیلدی که نام آن در سمت چپ IN نشان داده شده است با یکی از مقادیر موجود در لیست مطابقت داشته باشد، یک گزاره ساخته شده با استفاده از IN درست در نظر گرفته می شود.

مثال:

STUDENT_ID را انتخاب کنید

WHERE MARK IN (4، 5);

از جدول EXAM_MARKS اطلاعات مربوط به دانش‌آموزانی که فقط نمرات امتحانی 4 و 5 دارند دریافت کنید.

نه در- با هیچ یک از مقادیر مطابقت ندارد

مثال:

STUDENT_ID را انتخاب کنید

WHERE MARK NOT IN(0، 1، 2، 3)؛

از جدول EXAM_MARKS در مورد دانش آموزانی که نمرات امتحانی نامطلوب ندارند اطلاعات کسب کنید.

اپراتورها LIKE و NOT LIKE

گزاره های LIKE (مشابه) و NOT LIKE (غیر مشابه) برای آزمایش تطابق جزئی رشته های کاراکتر استفاده می شوند. این عملگر به مقادیر رشته فیلدها نگاه می کند تا تعیین کند آیا رشته مشخص شده در عملگر LIKE در کاراکتر string_value فیلد در حال بررسی وجود دارد یا خیر.

معیار انطباق جزئی با استفاده از دو مشخص می شود کاراکترهای عام:علامت درصد (%) و زیرخط (_). علامت درصد (%) به معنای هر مجموعه ای از کاراکترها، از جمله خالی، و زیرخط (_) به معنای هر کاراکتر منفرد است.

مثال:

انتخاب کنید *

جایی که نام خانوادگی مانند "P%"؛

پرس و جو منجر به جدولی می شود که حاوی اطلاعات دانش آموزانی است که نام خانوادگی آنها با حرف "P" شروع می شود.

اگر می خواهید همه دانش آموزان با نام خانوادگی "Petrov" را حذف کنید، باید عبارت زیر را اجرا کنید:

انتخاب کنید *

جایی که نام خانوادگی مانند "پتروف" نیست.

اگر لازم است خود کاراکترهای زیرخط یا درصد در «نمونه» گنجانده شوند، لازم است که چنین کاراکترهایی توسط مفسر SQL به عنوان کاراکترهای ماسک درک نشوند. برای اینکه علامت درصد یا زیرخط به معنای واقعی کلمه گرفته شود، باید قبل از آن یک کاراکتر کنترلی خاص قرار دهید. این کاراکتر را می توان به صورت دلخواه تعریف کرد، تا زمانی که به عنوان یک عنصر داده رخ ندهد.

مثال:

نام، آدرس، Discount_Percent را انتخاب کنید

از مشتریان

WHERE Percent_discount LIKE "20#%"

در اینجا، کلمه کلیدی ESCAPE با کاراکتری که به عنوان یک کنترل استفاده می شود، دنبال می شود. به همین ترتیب می توانید خود کاراکتر کنترل را غیرفعال کنید.

مثال:

پسندیدن "_ \ _پ"

در این عبارت، کاراکتر "\" با استفاده از کلمه کلیدی ESCAPE یک کاراکتر ESC اعلام می شود. کاراکتر اول "_" مانند قبل با هر کاراکتری در رشته ای که بررسی می شود مطابقت دارد و نویسه دوم "_" به معنای واقعی کلمه مانند یک کاراکتر زیر خط معمولی تفسیر می شود.

اپراتور NULL است

محمول IS NULL برای شناسایی رکوردهایی استفاده می شود که در آن یک ستون خاص هیچ مقداری ندارد.

مثال:

با استفاده از پرس و جو زیر می توانید سوابق مشتری را که هیچ آدرسی برای آنها مشخص نشده است دریافت کنید:

نام، آدرس، منطقه را انتخاب کنید

از مشتریان

آدرس WHERE IS NULL.

برای بازیابی رکوردهایی که در آن ستون "آدرس" حاوی مقداری خاص است (به عنوان مثال، غیر تهی)، می توانید از یک عبارت مشابه استفاده کنید، اما با عملگر منطقی NOT (not):

نام، آدرس، منطقه را انتخاب کنید

از مشتریان

آدرس WHERE IS NULL نیست.

محمول های مقایسه ای نباید استفاده شوندبا NULL، مانند "Address=NULL"