Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

LN() Fungsi di Oracle

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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ADD_MONTHS() Fungsi di Oracle

  2. Cara menulis aplikasi .Net yang berfungsi dengan SqlServer dan Oracle (sekarang System.Data.OracleClient tidak digunakan lagi)

  3. Cara Menambahkan Indikator AD/BC ke Tanggal di Oracle

  4. Ikon Pengembang SQL

  5. Top 30 Pertanyaan Manajer Serentak Paling Berguna