MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana LOG() Bekerja di MariaDB

Di MariaDB, LOG() adalah fungsi bawaan yang mengembalikan logaritma natural dari argumennya ke basis tertentu.

Itu bisa dipanggil dengan satu atau dua argumen:

  • Saat dipanggil dengan satu argumen, menampilkan logaritma natural dari argumen tersebut.
  • Saat dipanggil dengan dua argumen, mengembalikan logaritma argumen kedua ke basis yang ditentukan dalam argumen pertama.

Saat dipanggil dengan satu argumen, LOG() adalah kebalikan dari EXP() , dan itu sama dengan menggunakan LN() .

Sintaks

Fungsi tersebut dapat digunakan dengan dua cara berikut:

LOG(X)
LOG(B,X)

Saat menggunakan sintaks pertama, fungsi mengembalikan logaritma natural X .

Saat menggunakan sintaks kedua, fungsi mengembalikan logaritma X ke dasar B .

Contoh – Sintaks Argumen Tunggal

Berikut adalah contoh yang menggunakan sintaks argumen tunggal:

SELECT LOG(3);

Hasil:

+--------------------+
| LOG(3)             |
+--------------------+
| 1.0986122886681098 |
+--------------------+

Inilah yang kami dapatkan ketika kami melewati e :

SELECT LOG(2.718281828459045);

Hasil:

+------------------------+
| LOG(2.718281828459045) |
+------------------------+
|                      1 |
+------------------------+

Nomor e , juga dikenal sebagai bilangan Euler, adalah konstanta matematika yang kira-kira sama dengan 2,718281828459045… dan seterusnya.

Contoh – Sintaks Dua Argumen

Berikut adalah contoh yang menggunakan sintaks dua argumen:

SELECT LOG(10, 3);

Hasil:

+--------------------+
| LOG(3)             |
+--------------------+
| 1.0986122886681098 |
+--------------------+

Berikut nilai yang sama menggunakan basis yang berbeda:

SELECT 
    LOG(8, 3),
    LOG(16, 3),
    LOG(2, 3);

Hasil:

+--------------------+--------------------+--------------------+
| LOG(8, 3)          | LOG(16, 3)         | LOG(2, 3)          |
+--------------------+--------------------+--------------------+
| 0.5283208335737188 | 0.3962406251802891 | 1.5849625007211563 |
+--------------------+--------------------+--------------------+

Rentang Argumen

Jika X kurang dari atau sama dengan 0 , lalu NULL dikembalikan dengan peringatan.

SELECT 
    LOG(0),
    LOG(-1),
    LOG(16, -3),
    LOG(2, -3);

Hasil:

+--------+---------+-------------+------------+
| LOG(0) | LOG(-1) | LOG(16, -3) | LOG(2, -3) |
+--------+---------+-------------+------------+
|   NULL |    NULL |        NULL |       NULL |
+--------+---------+-------------+------------+
1 row in set, 4 warnings (0.001 sec)

Mari kita periksa peringatannya:

SHOW WARNINGS;

Hasil:

+---------+------+---------------+
| Level   | Code | Message       |
+---------+------+---------------+
| Warning | 1365 | Division by 0 |
| Warning | 1365 | Division by 0 |
| Warning | 1365 | Division by 0 |
| Warning | 1365 | Division by 0 |
+---------+------+---------------+

Juga, basis harus lebih besar dari 1 . Jika tidak, NULL dikembalikan:

SELECT 
    LOG(0, 3),
    LOG(1, 3),
    LOG(-1, 3);

Hasil:

+-----------+-----------+------------+
| LOG(0, 3) | LOG(1, 3) | LOG(-1, 3) |
+-----------+-----------+------------+
|      NULL |      NULL |       NULL |
+-----------+-----------+------------+
1 row in set, 3 warnings (0.000 sec)

Periksa peringatannya:

SHOW WARNINGS;

Hasil:

+---------+------+---------------+
| Level   | Code | Message       |
+---------+------+---------------+
| Warning | 1365 | Division by 0 |
| Warning | 1365 | Division by 0 |
| Warning | 1365 | Division by 0 |
+---------+------+---------------+

Argumen Non-Numerik

Berikut adalah contoh yang terjadi saat kami memberikan argumen non-numerik:

SELECT LOG('Homer', 'Simpson');

Hasil:

+-------------------------+
| LOG('Homer', 'Simpson') |
+-------------------------+
|                    NULL |
+-------------------------+
1 row in set, 2 warnings (0.000 sec)

Mari kita lihat peringatannya:

SHOW WARNINGS;

Hasil:

+---------+------+-------------------------------------------+
| Level   | Code | Message                                   |
+---------+------+-------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer' |
| Warning | 1365 | Division by 0                             |
+---------+------+-------------------------------------------+

Argumen Null

LOG() mengembalikan null jika ada argumen null :

SELECT 
    LOG(null),
    LOG(null, 3),
    LOG(16, null),
    LOG(null, null);

Hasil:

+-----------+--------------+---------------+-----------------+
| LOG(null) | LOG(null, 3) | LOG(16, null) | LOG(null, null) |
+-----------+--------------+---------------+-----------------+
|      NULL |         NULL |          NULL |            NULL |
+-----------+--------------+---------------+-----------------+

Argumen Tidak Ada

Memanggil LOG() dengan jumlah argumen yang salah, atau tanpa argumen apa pun menghasilkan kesalahan:

SELECT LOG();

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG'

Dan:

SELECT LOG(10, 2, 3);

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menjalankan SHOW LOCALES di MariaDB

  2. Panduan untuk MariaDB Columnstore untuk Admin MySQL

  3. Pemulihan Bencana untuk Cluster Galera yang Di-deploy ke Hybrid Cloud

  4. Pengantar Penerapan MySQL Menggunakan Peran yang Mungkin

  5. MariaDB RTRIM() vs RTRIM_ORACLE():Apa Bedanya?