خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
استفاده از تابع COALESCE در SQL Server
تابع COALESCE در SQL Server اولین مقدار غیر Null را در یک لیست برمی گرداند. Syntax استفاده از این تابع صورت زیر می باشد.
در استفاده از تابع COALESCE باید به موارد زیر توجه داشته باشید:
یک لیست باید حداقل دارای یک مقدار غیر Null باشد در غیر این صورت خطایی را دریافت خواهید کرد.
دیتاتایپ های مقادیر باید یکسان باشد.
حالا به مثالی از نحوه استفاده و کاربرد تابع COALESCE می پردازیم. در اسکریپت زیر از تابع coalesce استفاده شده و اولین مقدار غیر Null را که 5 می باشد را بر میگرداند.
همانطور که مشاهده می کنید، مقدار اول Null بوده ولی مقدار دوم 5 بوده و تابع COALESCE آن را برگرداند.
اسکریپت زیر از تابع COALESCE استفاده می کند که اولین مقدار غیر Null در لیست را بازمی گرداند(یعنی “SQL”).
برخی از خطاهای احتمالی در Coalesce
توابع Coalesce همیشه اول یک عدد صحیح ارزیابی می کند پس از آن کاراکتر عدد صحیح را به عنوان یک خروجی ارائه می دهد.
در اسکریپت زیر، تابع Coalesce خطایی در تبدیل داده varchar به داده int نمایش می دهد:
اگر لیست کلا دارای مقادیر Null باشد و آنها را به تابع coalesce پاس دهید، خطا دریافت خواهید کرد.
همانطور که می دانید اگر بخواهید یک مقدار رشته ای را با Null در واقع CONCAT کنید، خروجی Null خواهد بود. به مثال زیر توجه کنید.
با استفاده از Coalesce می توانید مقادیر null را با مقادیری دیگری جایگزین کنید. در اسکریپت زیر باید تمامی مقادیر رشته ای با هم CONCAT شوند و هر جا که Null بود، با "فاصله" جایگزین شود.
COALESCE (val1, val2, ...)
در استفاده از تابع COALESCE باید به موارد زیر توجه داشته باشید:
یک لیست باید حداقل دارای یک مقدار غیر Null باشد در غیر این صورت خطایی را دریافت خواهید کرد.
دیتاتایپ های مقادیر باید یکسان باشد.
حالا به مثالی از نحوه استفاده و کاربرد تابع COALESCE می پردازیم. در اسکریپت زیر از تابع coalesce استفاده شده و اولین مقدار غیر Null را که 5 می باشد را بر میگرداند.
select COALESCE(null, 5, 'SQL', 'SQL server') as first_non_nullval
همانطور که مشاهده می کنید، مقدار اول Null بوده ولی مقدار دوم 5 بوده و تابع COALESCE آن را برگرداند.
اسکریپت زیر از تابع COALESCE استفاده می کند که اولین مقدار غیر Null در لیست را بازمی گرداند(یعنی “SQL”).
select COALESCE(null, 'SQL',null, '2018', 'SQL server') as first_non_nullval
برخی از خطاهای احتمالی در Coalesce
توابع Coalesce همیشه اول یک عدد صحیح ارزیابی می کند پس از آن کاراکتر عدد صحیح را به عنوان یک خروجی ارائه می دهد.
در اسکریپت زیر، تابع Coalesce خطایی در تبدیل داده varchar به داده int نمایش می دهد:
select COALESCE(null, 'SQL',1 )
اگر لیست کلا دارای مقادیر Null باشد و آنها را به تابع coalesce پاس دهید، خطا دریافت خواهید کرد.
select COALESCE(null, null ) as first_non_nullval
همانطور که می دانید اگر بخواهید یک مقدار رشته ای را با Null در واقع CONCAT کنید، خروجی Null خواهد بود. به مثال زیر توجه کنید.
select 'SQL Server ' + '' + null + '2018' as Output
با استفاده از Coalesce می توانید مقادیر null را با مقادیری دیگری جایگزین کنید. در اسکریپت زیر باید تمامی مقادیر رشته ای با هم CONCAT شوند و هر جا که Null بود، با "فاصله" جایگزین شود.
select 'SQL Server ' + '' + COALESCE(null ,'')+ '2018' as Output
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: