EXP
شما میتوانید بوسیلهی این تابع از فرمول e استفاده نمایید. لازم به ذکر است که، e یک عدد ثابت ریاضی میباشد (e = 2.71828…). این تابع عدد e را به توان x میرساند. به دستور زیر توجه کنید.
SELECT NUM_1, EXP(NUM_1) FROM NUMBERS;
NUM_1 EXP(NUM_1)
----- ----------
15 3269017.37
5 148.413159
51 1.44093E+22
46 9.4961E+19
28 1.4463E+12
37 1.1719E+16
LOG
این تابع لگاریتم اعداد را بر میگرداند. کوئری زیر، چگونگی استفاده از تابع LOG را به نمایش گذاشته است. توجه داشته باشید این تابع دو آرگومان دارد. تابع LOG اولین آرگومان را به مبنای دومین آرگومان میرساند.
SELECT NUM_1, LOG(NUM_1, 10) FROM NUMBERS;
همانطور که مشاهده میکنید تابع LOG اولین آرگومان، که دادههای فیلد NUM_1 است را، به مبنای دومین آرگومان که عدد 10 قرار دادهایم، میرساند. نتیجهی کوئری را در زیر ببینید.
NUM_1 LOG(NUM_1, 10)
----- --------------
15 .850274154
5 1.43067656
51 .585627469
46 .601410489
28 .691009536
37 .637673065
LN
این تابع لگاریتم طبیعی اعداد را بر میگرداند. کوئری زیر، چگونگی استفاده از تابع LN را به نمایش گذاشته است.
نکته: LN فقط یک پارامتر داره و ۲ پارامتری نیست.
SELECT NUM_1, LN(NUM_1) FROM NUMBERS;
NUM_1 LN(NUM_1)
---- ------------
15 2.7080502
5 1.60943791
51 3.93182563
46 3.828414
28 3.33220451
37 3.61091791
حال با استفاده از جدول NUM_TEST، مثالی دیگر میزنیم.
SELECT A, LN(A) FROM NUM_TEST;
همانگونه که میدانید لگاریتم عدد منفی را قبول نخواهد کرد. پس باید منتظر پیغام خطا باشید.
SELECT A, LN(A)
*
ERROR at line 1:
ORA-01428: argument '-5.65' is out of range
برای رفع این مشکل باید از تابع ABS استفاده نمایید. دستور زیر را ببینید.
SELECT A, LN(ABS(A)) FROM NUM_TEST;
A LN(ABS(A))
-------- -----------
-5.65 1.731655555
6.1 1.80828877
11 2.39789527
.33 -1.1086626
-10 2.30258509
1.598 .468752847