Di Oracle, LN() fungsi mengembalikan logaritma natural dari argumennya, di mana argumennya lebih besar dari 0 .
Dengan kata lain, ia mengembalikan basis-e logaritma argumennya.
Nomor e , juga dikenal sebagai bilangan Euler, adalah konstanta matematika yang kira-kira sama dengan 2,71828.
Sintaks
Sintaksnya seperti ini:
LN(n)
Dimana n adalah tipe data numerik atau tipe data nonnumerik apa pun yang dapat secara implisit dikonversi ke tipe data numerik.
Contoh
Ini contohnya:
SELECT LN(73)
FROM DUAL; Hasil:
LN(73) __________________________________________ 4.2904594411483911290921088574385425709
Inilah yang kami dapatkan ketika kami melewati e :
SELECT LN(2.718281828459045235360287471352662497757)
FROM DUAL; Hasil:
LN(2.718281828459045235360287471352662497757)
________________________________________________
1 Namun, jumlah tempat pecahan membuat perbedaan dengan contoh ini. Inilah yang terjadi ketika saya menghapus digit terakhir:
SELECT LN(2.71828182845904523536028747135266249775)
FROM DUAL; Hasil:
LN(2.71828182845904523536028747135266249775)
_______________________________________________
0.9999999999999999999999999999999999999963 Nilai Negatif
Nilai negatif menghasilkan kesalahan "di luar jangkauan":
SELECT LN(-5.490)
FROM DUAL; Hasil:
Error starting at line : 1 in command - SELECT LN(-5.490) FROM DUAL Error report - ORA-01428: argument '-5.49' is out of range
Nol
Melewati 0 juga menghasilkan kesalahan "di luar jangkauan":
SELECT LN(0)
FROM DUAL; Hasil:
Error starting at line : 1 in command - SELECT LN(0) FROM DUAL Error report - ORA-01428: argument '0' is out of range
Ekspresi
Argumen dapat mencakup ekspresi seperti ini:
SELECT LN(2 * 3)
FROM DUAL; Hasil:
LN(2*3) ___________________________________________ 1.79175946922805500081247735838070227272
Argumen Non-Numerik
Argumen dapat berupa tipe data numerik apa pun atau tipe data nonnumerik apa pun yang dapat secara implisit dikonversi ke tipe data numerik.
Berikut adalah contoh yang terjadi jika argumen tidak memenuhi kriteria tersebut:
SELECT LN('Euler')
FROM DUAL; Hasil:
Error starting at line : 1 in command -
SELECT LN('Euler')
FROM DUAL
Error report -
ORA-01722: invalid number Argumen Null
LN() mengembalikan null jika argumennya null :
SET NULL 'null';
SELECT LN(null)
FROM DUAL; Hasil:
LN(NULL)
___________
null
Secara default, SQLcl dan SQL*Plus mengembalikan ruang kosong setiap kali nilai null muncul sebagai hasil dari SELECT SQL penyataan.
Namun, Anda dapat menggunakan SET NULL untuk menentukan string berbeda yang akan dikembalikan. Di sini saya menetapkan bahwa string null harus dikembalikan.
Argumen Tidak Ada
Memanggil LN() dengan jumlah argumen yang salah, atau tanpa argumen apa pun menghasilkan kesalahan:
SELECT LN()
FROM DUAL; Hasil:
Error starting at line : 1 in command - SELECT LN() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
Dan:
SELECT LN(10, 2)
FROM DUAL; Hasil:
Error starting at line : 1 in command - SELECT LN(10, 2) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: