خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


استفاده از IF..ELSE در SQL Server

استفاده از IF..ELSE در SQL Server
IF..ELSE، در SQL Server به شما امکان کنترل یک بلوک دستور را بر اساس شرایطی مشخص اجرا و یا از آن عبور کنید. Syntax استفاده از IF..ELSE به صورت زیر می باشد.

نرم افزار سامانه مودیان راهکار



IF Boolean_expression
{ sql_statement | statement_block }
[ ELSE { sql_statement | statement_block } ]

در ادامه بیشتر با IF..ELSE در SQL Server آشنا شده و در مثال یا نحوه کار آنها آشنا خواهید شد.
Boolean_expression در واقع عبارتی است که True یا false است. در واقع همان شرط شما است.
اگر boolean expression در IF مقدار TRUE باشد، کار ادامه پیدا می کند و بلوک دستور تا قبل از ELSE ادامه پیدا می کند. در غیر اینصورت کد از این بخش گذشته و به قسمت ELSE می رسد و هر دستور و اسکریپتی که ELSE باشد، اجرا می شود.
اگر شرط یا همان Boolean expression شما همراه با SELECT باشد، عبارت SELECT باید در پرانتز باشد.

IF..ELSE BLOCK

مثلا اسکریپت زیر را در نظر بگیرید که از عبارت IF استفاده شده است. اگر شرط IF برابر با TRUE باشد پس بلوک متعلق به IF اجرا می شود و در غیر اینصورت ELSE اجرا می شود.
همانطور که مشاهده می کنید، شرط برابر بودن عدد یا دو است. بدیهی که این یک با دو برابر نیست و خروجی TRUE نخواهد بود بلکه FALSE است و در نتیجه قسمت IF اجرا نشده و ELSE اجرا می شود.
IF (1=2)
BEGIN
SELECT 'true' as result;
END
ELSE
BEGIN
SELECT 'false' as result;
END

استفاده از IF..ELSE در SQL Server
در شرط زیر نتیجه TRUE خواهد بود پس بلوک IF به طور کامل اجرا خواهد شد.

IF (1=1)
BEGIN
SELECT 'true' as result;
END
ELSE
BEGIN
SELECT 'false' as result;
END

استفاده از IF..ELSE در SQL Server

NESTED IF..ELSE BLOCK

حالا در اسکریپت زیر از IF..ELSE تو در تو استفاده خواهیم کرد. یک متغیر با نام val که مقدار پیشفرض آن عدد 5 است.
حال دستور IF شرایط بدست آمده را بررسی می کند که آیا 1 = 1 است. بدیهی است که نتیجه TRUE خواهد شد و ضمنا بلوک IF دیگری وارد می شود. حالا بررسی میشود که آیا متغیر val برابر 3 است که نتیجه false خواهد شد و بلوک IF اجرا نشده و ELSE اجرا می شود.

Declare @val int =5

IF (1=1)
BEGIN
IF (@val=3)
BEGIN
SELECT 'NESTED IF_ELSE result is TRUE' as result;
END
ELSE
BEGIN
SELECT 'NESTED IF_ELSE result is FALSE' as result;
END
END
ELSE
BEGIN
SELECT 'false' as result;
END

استفاده از IF..ELSE در SQL Server

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز