خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
تابع ISNULL در SQL Server
تابع ISNULL یک تابع سیستمی است که اگر مقدار برابر Null باشد، چیزی که مشخص شده برگشت داده می شود و اگر Null نباشد، مقدار هر چه که باشد، برگردانده می شود. جلوتر مثال هایی را از تابع ISNULL خواهید دید که توضیحات را برای ملموس تر خواهد کرد.
SYNTAX کلی دستور به فرم زیر می باشد.
خب، برای درک بهتر توضیحات و مشاهده نحوه استفاده از ISNULL، به مثال های زیر توجه کنید. در مثال زیر از تابع ISNULL استفاده شده و اگر ISNULL برابر NULL بود، مقدار replacement_value برگشت داده می شود و در غیر اینصورت Expression برگشت داده می شود.
همانطور که مشاهده می کنید، خروجی برابر با microsoft sql server بوده و در نتیجه تابع ISNULL برابر با NULL نبود. اولین آرگومان، مقدار ISNULL است.
حالا به مثال زیر نگاه کنید. در این مثال تابع ISNULL برابر با NULL بوده و در نتیجه آرگومان دوم به عنوان خروجی در ISNULL برگشت داده می شود:
همانطور که در تصویر فوق مشاهده می کنید، سه رکورد از مجموع کل رکوردها در ستون number برابر با Null می باشند. ما می خواهیم با استفاده از تابع ISNULL رکوردهایی که برابر با NULL هستند را مقدار 1 برگردانده و در غیر اینصورت مقدار هر چه که هست، همان برگشت داده شود.
SYNTAX کلی دستور به فرم زیر می باشد.
ISNULL (expression, replacement_value )
Expression
عبارتی که برای NULL قابل بررسی می باشد و از هر نوعی هم می تواند باشد.replacement_value
اگر Expression برابر با NULL باشد، replacement_value عبارتی است که برگردانده می شود.خب، برای درک بهتر توضیحات و مشاهده نحوه استفاده از ISNULL، به مثال های زیر توجه کنید. در مثال زیر از تابع ISNULL استفاده شده و اگر ISNULL برابر NULL بود، مقدار replacement_value برگشت داده می شود و در غیر اینصورت Expression برگشت داده می شود.
SELECT ISNULL('microsoft sql server','2018') as output
همانطور که مشاهده می کنید، خروجی برابر با microsoft sql server بوده و در نتیجه تابع ISNULL برابر با NULL نبود. اولین آرگومان، مقدار ISNULL است.
حالا به مثال زیر نگاه کنید. در این مثال تابع ISNULL برابر با NULL بوده و در نتیجه آرگومان دوم به عنوان خروجی در ISNULL برگشت داده می شود:
SELECT ISNULL(null,'2018') as output
Using ISNULL() function with table data
برای ادامه کار، قصد داریم که یک جدول با نام Test ایجاد کنیم و رکوردهایی را در آن Insert کنیم که برخی از این رکوردها NULL می باشند.همانطور که در تصویر فوق مشاهده می کنید، سه رکورد از مجموع کل رکوردها در ستون number برابر با Null می باشند. ما می خواهیم با استفاده از تابع ISNULL رکوردهایی که برابر با NULL هستند را مقدار 1 برگردانده و در غیر اینصورت مقدار هر چه که هست، همان برگشت داده شود.
SELECT number, ISNULL(number , 1 ) as number From Test
Using ISNULL() function with Aggregated Function
در مثال زیر قصد داریم تابع ISNULL را با Aggregated Function مثلا با تابع SUM استفاده کنیم. رکوردهای NULL را با 50 جایگزین می کنیم و سپس جمع ستون number را در خروجی نشان می دهیم.SELECT SUM(number) as total ,SUM(ISNULL(number ,50 )) as total_after_replaceNull From Test
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: