توابع تک سطری در SQL – توابع عددی

در مطلب توابع تجمیعی در SQL دسته ای از توابع را توضیح دادیم که بر روی گروهی از سطرها یکباره انجام می شدند و از این رو نتیجه حاصل شده به ازای چندین سطر است. از جمله این توابع می توان به تابع ()COUNT اشاره کرد. اما دسته ای دیگر از توابع وجود دارند که بر روی هر سطر به تنهایی اجرا می شوند و نتیجه حاصل شده به ازای هر سطر است. در اوراکل (و دیگر سیستم های پایگاه داده رابطه ای) می توانیم این توابع را به سه دسته زیر گروه بندی کنیم:

جمع بندی مطلب توابع تجمیعی در SQL

۱ – توابع عددی مانند تابع ()SIN و ()COS و ()ROUND

۲ – توابع کاراکتری که مقدار برگشتی آنها نیز یک کاراکتر است مانند تابع ()CHAR

۳ – توابع کاراکتری که مقدار برگشتی آنها یک عدد است مانند تابع ()LENGTH و ()ASCII

۴ – توابعی که اطلاعاتی را در مورد Characterset برگشت می دهند. مانند تابع ()NLS_CHARSET_NAME

۵ – تابع های کار با تاریخ و زمان مانند تابع ()DATE و ()TO_CHAR

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

توابع عددی

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

محاسبه قدر مطلق توسط تابع ()ABS

محاسبه باقیمانده تقسیم عدد نخست بر دومی توسط تابع ()MOD

محاسبه لگاریتم توسط تابع ()LOG

توجه کنید آرگومان اول پایه لگاریتم است و می خواهیم لگاریتم عدد ۱۰۰ (یا ۱۰ به توان ۲) را بر پایه عدد ۱۰ محاسبه کنیم.

محاسبه لگاریتم طبیعی توسط تابع ()LN

توجه کنید LN مخفف Natural Logarithm یا لگاریتم طبیعی است.

محاسبه جذر عدد توسط تابع ()SQRT

از تابع ()SQRT برای محاسبه جذر یا ریشه دوم (Square Root) استفاده می شود. اگر عدد ورودی به تابع بزرگتر از صفر باشد، پس یک عدد مثبت به عنوان جذر عدد ورودی برگشت داده می شود. اگر عدد ورودی به تابع برابر با صفر باشد، پس عدد صفر به عنوان نتیجه برگشت داده می شود و اگر عددی کوچکتر از صفر (عدد منفی) به تابع فرستاده شود، پس NaN برگشت داده می شود.

محاسبه توان توسط تابع ()POWER

گرد کردن یک عدد به تعداد اعشار مشخص توسط تابع ()ROUND

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

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

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

گرد کردن یک عدد به تعداد اعشار مشخص توسط تابع ()TRUNC

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

تابع ()FLOOR

این تابع نام یک ستون یا یک عدد را به عنوان آرگومان اول دریافت و سپس بزرگترین عدد صحیح مساوی یا کوچکتر از خود عدد را بر می گرداند.

تابع ()CEIL

این تابع نام یک ستون یا یک عدد را به عنوان آرگومان اول دریافت و سپس کوچکترین عدد صحیح مساوی یا بزرگتر از خود عدد را بر می گرداند.