Di SQL Server, T-SQL LOG()
fungsi adalah fungsi matematika yang mengembalikan logaritma natural dari ekspresi float yang ditentukan.
Anda menentukan ekspresi float sebagai argumen. Anda juga dapat memberikan argumen kedua (opsional) untuk menetapkan basis logaritma.
Sintaks
Sintaksnya seperti ini:
LOG ( float_expression [, base ] )
Dimana float_expression adalah ekspresi dari tipe float atau tipe yang secara implisit dapat diubah menjadi float, dan base adalah argumen integer opsional yang menetapkan basis untuk logaritma.
Contoh 1 – Satu Argumen
Berikut adalah contoh dasar untuk mendemonstrasikan cara kerja fungsi ini menggunakan satu argumen.
SELECT LOG(10) Result;
Hasil:
+------------------+ | Result | |------------------| | 2.30258509299405 | +------------------+
Dan inilah contoh lain menggunakan nilai yang berbeda.
SELECT LOG(0.5) Result;
Hasil:
+--------------------+ | Result | |--------------------| | -0.693147180559945 | +--------------------+
Contoh 2 – Nilai Negatif
Berikut ini contoh pemberian nilai negatif.
SELECT LOG(-10) Result;
Hasil:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Contoh ini mengembalikan kesalahan karena logaritma hanya dapat dikembalikan untuk bilangan positif yang bukan 1.
Contoh 3 – Nol
Berikut adalah contoh melewatkan nol sebagai argumen (kita mendapatkan hasil yang sama seperti contoh sebelumnya).
SELECT LOG(0) Result;
Hasil:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Contoh 4 – Melewati 1
Jika Anda memberikan nilai 1, Anda akan mendapatkan nol.
SELECT LOG(1) Result;
Hasil:
+----------+ | Result | |----------| | 0 | +----------+
Contoh 5 – Ekspresi
Anda dapat menyampaikan ekspresi seperti ini:
SELECT LOG(2+3) Result;
Hasil:
+-----------------+ | Result | |-----------------| | 1.6094379124341 | +-----------------+
Itu sama efektifnya dengan melakukan ini:
SELECT LOG(5) Result;
Hasil:
+-----------------+ | Result | |-----------------| | 1.6094379124341 | +-----------------+
Contoh 6 – Dua Argumen
Berikut adalah contoh untuk mendemonstrasikan cara kerja fungsi ini menggunakan dua argumen.
SELECT LOG(10, 100) Result;
Hasil:
+----------+ | Result | |----------| | 0.5 | +----------+
Dan menggunakan contoh lain:
SELECT LOG(100, 10) Result;
Hasil:
+----------+ | Result | |----------| | 2 | +----------+
Jika Anda sudah familiar dengan versi MySQL dari LOG()
, Anda akan melihat bahwa sintaks dua argumen menggunakan urutan yang berlawanan dengan versi T-SQL (yaitu, basis didahulukan).
Contoh 7 – Menggunakan Basis 1
Jika Anda menggunakan 1
sebagai dasar, Anda akan mendapatkan kesalahan.
SELECT LOG(10, 1) Result;
Hasil:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Sama jika argumen pertama sama dengan nol atau kurang:
SELECT LOG(0, 10) Result;
Hasil:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
T-SQL juga memiliki EXP()
fungsi yang merupakan kebalikan dari LOG()
fungsi.
Anda juga dapat menggunakan LOG10()
function, yang mengembalikan logaritma basis-10 dari ekspresi float yang ditentukan. Menggunakan fungsi ini sama dengan memasukkan 10
sebagai argumen kedua untuk LOG()
fungsi.