خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
بررسی IIF و CASE در SQL Server
در این پست کوتاه قصد داریم که به بررسی و مقایسه دو عملگر IIF و CASE در SQL Server بپردازیم. IIF یکی از توابع منطقی Transact-SQL است که براساس عبارات boolean یکی از دو مقادیر را برمی گرداند(منظور True یا False). از سوی دیگر ، CASE عبارتی است که یک مقدار را در یا چندین مقدار دیگر مقایسه کرده و خروجی را بصورت Boolean بر میگرداند. بنابراین تابع IIF می تواند به جای Case مورد استفاده قرار بگیرد و بالعکس Case هم می تواند جایی که مقایسه دو مقدار وجود دارد، قرار بگیرد.
حالا این دو با هم تفاوت هایی هم دارند که در ادامه تفاوت های آنها را خواهید دید.
IIF از SQL Server 2012 معرفی و Case از SQL Server 2008 معرفی شد.
IIF یک تابع یا function و CASE یک expression یا عبارت است.
IIF برای برگشت یک خروجی از دو مقدار مورد استفاده است و Case برای برگشت یک خروجی از دو یا بیش از دو مقدار مورد استفاده است.
Syntax استفاده از IIF
Syntax استفاده از IIF
مثالی از تابع IIF
یک مثال از Case
حالا این دو با هم تفاوت هایی هم دارند که در ادامه تفاوت های آنها را خواهید دید.
IIF Vs CASE
IIF از SQL Server 2012 معرفی و Case از SQL Server 2008 معرفی شد.IIF یک تابع یا function و CASE یک expression یا عبارت است.
IIF برای برگشت یک خروجی از دو مقدار مورد استفاده است و Case برای برگشت یک خروجی از دو یا بیش از دو مقدار مورد استفاده است.
Syntax استفاده از IIF
IIF ( boolean-expression, value-for-true, value-for-false )
Syntax استفاده از IIF
CASE input-expression
WHEN when-expression THEN result-expression [ …n ]
[ ELSE else-result-expression ]
END
مثالی از تابع IIF
DECLARE
@i int = 100,
@j int = 200;
SELECT IIF ( @i > @j, ‘GREATER’, ‘SMALLER’ ) AS Result;
یک مثال از Case
DECLARE @i int = 200
SELECT CASE @i
WHEN 100 THEN ‘ONE HUNDRED’
WHEN 200 THEN ‘TWO HUNDRED’
WHEN 300 THEN ‘THREE HUNDRED’
ELSE ‘Something Else’
END;
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: