📞

تابع Round در sql

3 / 10
از 2 کاربر
بازگشت به لیست مقالات » | جمعه 1 آبان 1405 در ساعت 9 و 36 دقیقه | نظرات کاربران ( 1 )
آموزش SQL

تابع Round در اسکیوال

آموزش گرد کردن اعداد، تعیین دقت اعشار و بررسی مثال های کاربردی

تابع ROUND در SQL برای گرد کردن یک مقدار عددی و مشخص کردن تعداد رقم های اعشار آن استفاده می شود. با این تابع می توانید خروجی محاسبات را خواناتر کنید، مقادیر پولی را با دقت مناسب نمایش دهید و نتیجه را در گزارش های پایگاه داده به شکل منظم تری ارائه کنید.

۰۱

تابع ROUND در SQL چیست؟

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

در عبارت تابع، نام ستون یا یک مقدار عددی به عنوان ورودی قرار می گیرد و آرگومان دوم مشخص می کند چند رقم اعشار نگه داشته شود. بنابراین، گرد کردن داده ها هنگام اجرای پرس و جو انجام می شود و به خودی خود مقدار ذخیره شده در جدول را تغییر نمی دهد؛ مگر اینکه نتیجه را با دستور دیگری در داده ها ثبت کنید.

برای نمونه، اگر ستونی به نام price شامل عددهای اعشاری باشد، می توانید مقدار آن را برای نمایش تا دو رقم اعشار گرد کنید. واژه های کلیدی تابع round و دستور round در sql در مثال های این آموزش به همین تابع اشاره دارند.

۱
مقدار عددی ورودی
۲
آرگومان ضروری در الگوی رایج
۳
آرگومان اختیاری در SQL Server
۰۲

ساختار و آرگومان های دستور ROUND

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

SELECT ROUND(column_name, decimals)
FROM table_name;

در این الگو، column_name نام ستون عددی و decimals تعداد رقم اعشار است. برای مثال، مقدار مثبت ۲ معمولاً نتیجه را تا دو رقم بعد از ممیز گرد می کند. مقدار صفر برای گرد کردن به نزدیک ترین عدد صحیح به کار می رود و مقدار منفی، بسته به پشتیبانی پایگاه داده، گرد کردن در سمت چپ ممیز را درخواست می کند.

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

اجزای تابع ROUND

۰۳

مقدار عددی یا نام ستون

آرگومان نخست، عددی است که می خواهید گرد شود. این آرگومان می تواند یک عدد ثابت، نام ستون، عبارت محاسباتی یا نتیجه یک تابع عددی باشد. برای نمونه، می توانید هزینه یک قلم را مستقیماً گرد کنید یا حاصل ضرب تعداد در قیمت واحد را به تابع بدهید.

اگر از نام ستون استفاده می کنید، مطمئن شوید نوع داده آن برای عملیات عددی مناسب است. ستون های اعشاری معمولاً برای قیمت و اندازه گیری مناسب هستند؛ اما اگر داده ها به صورت متن ذخیره شده باشند، تبدیل نوع داده باید با توجه به قواعد همان پایگاه داده انجام شود.

SELECT ROUND(unit_price, 2) AS rounded_price
FROM products;

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

۰۴

تعداد رقم های اعشار

آرگومان دوم دقت گرد کردن را مشخص می کند. در الگوی متداول، مقدار ۲ یعنی نتیجه با دو رقم اعشار ارائه شود و مقدار صفر یعنی نتیجه به نزدیک ترین عدد صحیح گرد شود. علامت و دامنه مقادیر قابل قبول ممکن است با نوع پایگاه داده تفاوت داشته باشد؛ بنابراین برای استفاده از مقادیر منفی یا دقت های خاص، مستندات موتور SQL خود را بررسی کنید.

فرض کنید مبلغی برابر با ۱۲۳۴٫۵۶۷ دارید. اگر آن را تا دو رقم اعشار گرد کنید، نتیجه معمولاً ۱۲۳۴٫۵۷ خواهد بود. اگر همان مقدار را با دقت صفر گرد کنید، خروجی به نزدیک ترین عدد صحیح تبدیل می شود. این مقدار فقط نتیجه پرس و جو است و ذخیره اصلی جدول را تغییر نمی دهد.

SELECT ROUND(1234.567, 2) AS result;
۰۵

آرگومان سوم در برخی پایگاه های داده

بعضی از موتورهای پایگاه داده، از جمله SQL Server، آرگومان سومی نیز برای ROUND دارند. این آرگومان اختیاری می تواند رفتار تابع را از گرد کردن به بریدن رقم های اضافه تغییر دهد. در SQL Server، مقدار غیر صفر برای این آرگومان باعث حذف بخش اضافی عدد می شود، نه گرد کردن آن به نزدیک ترین مقدار.

برای مثال، گرد کردن ۱۲۳٫۷۸ تا یک رقم اعشار می تواند نتیجه ۱۲۳٫۸ بدهد؛ اما اگر در SQL Server از آرگومان سوم غیر صفر استفاده شود، بخش اضافه حذف می شود و نتیجه ۱۲۳٫۷ خواهد بود. چون این آرگومان در همه سیستم های SQL به یک شکل پشتیبانی نمی شود، نمونه های مخصوص SQL Server را بدون بررسی در پایگاه داده های دیگر اجرا نکنید.

SELECT ROUND(123.78, 1) AS rounded_value;
SELECT ROUND(123.78, 1, 1) AS truncated_value;

نمونه های کاربردی تابع ROUND در SQL

۰۶

گرد کردن قیمت محصولات

یکی از کاربردهای رایج تابع ROUND، آماده کردن قیمت ها برای نمایش در فهرست محصولات یا گزارش فروش است. اگر قیمت ها اعشار طولانی داشته باشند، نمایش همه رقم ها ممکن است خوانایی جدول را کاهش دهد. گرد کردن خروجی، ظاهر گزارش را منظم می کند؛ اما نباید بدون توجه به سیاست مالی کسب و کار، دقت عددی مورد نیاز را کم کند.

SELECT product_name,
       ROUND(price, 2) AS display_price
FROM products;

در این پرس و جو، نام محصول همراه با قیمت گرد شده نمایش داده می شود. مقدار اصلی ستون price همچنان بدون تغییر باقی می ماند. اگر هدف شما ثبت مقدار گرد شده در جدول است، باید از دستور مناسب برای به روزرسانی داده استفاده کنید و پیش از آن پیامد تغییر را بسنجید.

۰۷

گرد کردن میانگین و نتیجه محاسبات

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

SELECT ROUND(AVG(score), 2) AS average_score
FROM exam_results;

گرد کردن نتیجه نهایی معمولاً برای نمایش مناسب است؛ با این حال، گرد کردن مقادیر پیش از محاسبه میانگین ممکن است به نتیجه متفاوتی منجر شود. اگر دقت محاسبه اهمیت دارد، داده های اصلی را با دقت کافی نگه دارید و فقط نتیجه نهایی را برای نمایش گرد کنید.

🎯

قیمت محصولات

قیمت را برای نمایش خواناتر در گزارش فروش گرد کنید.

📊

میانگین داده ها

میانگین نمره یا اندازه گیری را با دقت مشخص نمایش دهید.

💰

گزارش مالی

نتیجه محاسبات مالی را مطابق دقت مورد نیاز ارائه کنید.

۰۸

تفاوت ROUND با نمایش تعداد اعشار

گرد کردن مقدار و قالب بندی نمایش دو کار متفاوت هستند. تابع ROUND یک مقدار عددی جدید در خروجی محاسبه می کند، در حالی که قالب بندی ممکن است فقط شکل نمایش عدد را در نرم افزار یا ابزار گزارش گیری تغییر دهد. در هر دو حالت ممکن است کاربر تعداد رقم های مشخصی ببیند، اما نتیجه و دقت مورد استفاده در محاسبات بعدی یکسان نیست.

برای نمونه، ممکن است ابزار گزارش گیری عددی را با دو رقم اعشار نشان دهد، ولی مقدار دقیق تر همچنان برای محاسبه های بعدی حفظ شود. در مقابل، اگر نتیجه ROUND را در عبارت دیگری به کار ببرید، محاسبه بعدی بر مبنای مقدار گرد شده انجام می شود. به همین دلیل باید روشن کنید که هدف فقط مرتب کردن ظاهر خروجی است یا تغییر مقدار مورد استفاده در ادامه پرس و جو.

۰۹

نکات مهم و خطاهای رایج

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

  • نوع داده را بررسی کنید: ورودی باید عددی باشد یا به شکل معتبر به مقدار عددی تبدیل شود.
  • دقت مناسب را انتخاب کنید: تعداد اعشار را بر اساس نیاز گزارش یا محاسبه تعیین کنید.
  • گرد کردن را با بریدن اشتباه نگیرید: آرگومان سوم در بعضی سیستم ها رفتار متفاوتی ایجاد می کند.
  • نتیجه را روی داده نمونه بسنجید: به ویژه وقتی از دقت منفی یا مقادیر مرزی استفاده می کنید.

همچنین، برای محاسبات مالی حساس، سیاست گرد کردن سازمان و قواعد مربوط به ارز را در نظر بگیرید. گاهی گرد کردن جداگانه هر ردیف با گرد کردن جمع نهایی، اختلاف کوچکی ایجاد می کند. بنابراین بهتر است محل اجرای ROUND را بر اساس منطق گزارش و نیازهای حسابداری انتخاب کنید.

مطالب آموزشی

آموزش های فنی را در وب منتشر کنید

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

مشاهده خدمات ←

مقایسه رفتارهای متداول ROUND

هدف نمونه آرگومان دوم کاربرد نکته
نگه داشتن رقم اعشار 2 نمایش تا دو رقم اعشار رفتار دقیق ممکن است به نوع داده وابسته باشد.
گرد کردن به عدد صحیح 0 خلاصه سازی مقدار برای نمایش دقت اصلی ستون را تغییر نمی دهد.
گرد کردن سمت چپ ممیز -1 گرد کردن به مرتبه های بزرگ تر پشتیبانی و نتیجه را در موتور پایگاه داده آزمایش کنید.
بریدن رقم اضافه آرگومان سوم در SQL Server حذف رقم های پس از دقت تعیین شده این گزینه در همه پایگاه های داده یکسان نیست.

مزیت های استفاده از ROUND

مزایای تابع ROUND

خروجی عددی خواناتر

کنترل بهتر بر دقت نتایج پرس و جو
۰۱
خوانایی

نمایش مرتب تر

کاهش رقم های اضافی در گزارش ها

۰۲
دقت

تعیین اعشار

انتخاب دقت متناسب با نیاز خروجی

۰۳
گزارش

محاسبات کاربردی

استفاده روی ستون یا نتیجه توابع

۰۴
انعطاف

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

مناسب برای قیمت، میانگین و آمار

۰۵
پرس و جو

اجرای مستقیم

محاسبه در زمان اجرای دستور SQL

۱۰

نتیجه گیری: چه زمانی از تابع ROUND در SQL استفاده کنیم؟

هر زمان که لازم است یک مقدار عددی را تا دقت مشخص گرد کنید، تابع ROUND می تواند راهی ساده و قابل فهم در پرس و جوهای SQL باشد. این تابع برای نمایش قیمت، میانگین، نتیجه محاسبات و آماده سازی گزارش ها کاربرد دارد؛ اما مقدار آرگومان ها و رفتار حالت های خاص را باید با توجه به پایگاه داده خود انتخاب کنید.

در جمع بندی، تابع ROUND در SQL مقدار عددی را در خروجی گرد می کند و به تنهایی داده ذخیره شده را تغییر نمی دهد. برای استفاده مطمئن، نوع داده را بررسی کنید، تعداد رقم اعشار را آگاهانه تعیین کنید و تفاوت گرد کردن با بریدن یا قالب بندی نمایشی را در نظر داشته باشید.

با یک مثال ساده شروع کنید

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

مرور دستور ROUND ←

سوالات متداول تابع ROUND در SQL

تابع ROUND در SQL چه کاری انجام می دهد؟

این تابع یک مقدار عددی را بر اساس تعداد رقم اعشار تعیین شده گرد می کند. نتیجه در خروجی پرس و جو استفاده می شود و اجرای تابع به تنهایی مقدار ذخیره شده در جدول را تغییر نمی دهد.

آرگومان دوم ROUND چه مفهومی دارد؟

آرگومان دوم تعداد رقم های مورد نظر را مشخص می کند. برای نمونه، در الگوی رایج مقدار ۲ برای گرد کردن تا دو رقم اعشار و مقدار صفر برای گرد کردن به عدد صحیح به کار می رود.

آیا ROUND مقدار اصلی جدول را تغییر می دهد؟

خیر. ROUND در یک پرس و جو معمولی نتیجه محاسبه شده را برمی گرداند و مقدار اصلی ستون را تغییر نمی دهد. برای ذخیره نتیجه در جدول باید از دستور تغییر داده مناسب استفاده کنید.

تفاوت گرد کردن و بریدن عدد چیست؟

گرد کردن رقم های بعد از دقت انتخاب شده را برای تعیین نزدیک ترین مقدار در نظر می گیرد؛ بریدن فقط رقم های اضافه را حذف می کند. در SQL Server، آرگومان سوم غیر صفر در ROUND می تواند رفتار بریدن را فعال کند.

آیا ROUND در همه پایگاه های داده یکسان عمل می کند؟

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

ارسال نظر و نظرات ثبت شده
ازیتا :
5 2
میشه یکم بیشتر توضیح بدین؟مثلا column_nameچیه؟و بغیش
مدیریت : column_name همون نام ستون است.
سایر مقالات
تابع ISNUL در sql آموزش SQL تابع ISNULL در SQL؛ آموزش کاربرد و مثال جایگزینی مقدار NULL در پرس وجوها و محاسب ...
تابع Format در اسکیوال آموزش SQL Server تابع FORMAT در SQL Server؛ آموزش کاربرد و مثال قالب بندی تاریخ، زمان و عد ...
تابع Now در sql آموزش SQL تابع NOW در SQL؛ نمایش تاریخ و ساعت جاری نحوه استفاده، تفاوت پایگاه‌های داد ...
تابع Round در sql آموزش SQL تابع Round در اسکیوال آموزش گرد کردن اعداد، تعیین دقت اعشار و بررسی مثال های کار ...
تابع Len در sql آموزش SQL تابع LEN در SQL؛ آموزش کاربردی با مثال نحوه شمارش طول رشته، بررسی فاصله‌ها ...
تابع Mid در sql آموزش SQL تابع MID در SQL چیست و چگونه از آن استفاده کنیم؟ استخراج بخشی از متن، بررسی ساخت ...
تابع LCase در sql آموزش SQL تابع LCase در SQL چیست و چگونه از آن استفاده کنیم؟ آموزش تبدیل حروف بزرگ به حروف ...
تابع UCase در sql آموزش SQL تابع UCASE در SQL؛ تبدیل متن به حروف بزرگ نحوه استفاده، مثال ها، تفاوت UCASE و U ...
تابع Sum در sql آموزش SQL تابع SUM در SQL؛ راهنمای محاسبه مجموع داده ها نحو دستور، مثال های کاربردی، نکات ...
تابع Min در sql آموزش SQL تابع MIN در SQL چیست و چگونه کار می‌کند؟ آشنایی با کاربرد، ساختار، مثال&zwn ...
تابع Max در sql آموزش SQL تابع MAX در SQL؛ آموزش کاربرد و مثال روش پیدا کردن بزرگ‌ترین مقدار در یک ست ...
تابع Last در sql آموزش SQL تابع Last در SQL چیست و چگونه آخرین رکورد را پیدا کنیم؟ آشنایی با کاربرد تابع La ...
تابع First در sql تابع First در SQL چیست و چگونه کار می کند؟ 💡آشنایی با تابع First تابع First در SQL برای برگ ...
تابع Count در sql تابع COUNT در SQL چیست و چگونه از آن استفاده کنیم؟ 💡آشنایی با شمارش داده ها تابع COUNT در S ...
تابع Avg در sql تابع AVG در SQL چیست و چه کاربردی دارد؟ 💡میانگین گیری از داده های عددی تابع AVG در SQL یک ...
دسته بندی
جستجو
⏳ در حال پردازش...
لطفا صبر کنید