Di Oracle Database, LEAST()
fungsi mengembalikan paling sedikit dari daftar satu atau lebih ekspresi.
Sintaks
Sintaksnya seperti ini:
LEAST(expr [, expr ]...)
expr
pertama digunakan untuk menentukan tipe pengembalian:
- Jika
expr
pertama adalah numerik, lalu Oracle menentukan argumen dengan prioritas numerik tertinggi, secara implisit mengonversi argumen yang tersisa ke tipe data tersebut sebelum perbandingan, dan mengembalikan tipe data tersebut. - Jika
expr
pertama adalah tidak numerik, lalu setiapexpr
setelah yang pertama secara implisit dikonversi ke tipe data dariexpr
. pertama sebelum perbandingan.
Contoh
Berikut contohnya:
SELECT LEAST('a', 'b', 'c')
FROM DUAL;
Hasil:
a
Berikut beberapa lainnya:
SELECT
LEAST('A', 'a') AS "r1",
LEAST('Cat', 'Dog', 'Dot') AS "r2",
LEAST(1, 2, 3) AS "r3",
LEAST(1, '2', 3) AS "r4",
LEAST('Cat', '2001-12-31') AS "r5"
FROM DUAL;
Hasil:
r1 r2 r3 r4 r5 _____ ______ _____ _____ _____________ A Cat 1 1 2001-12-31
Ekspresi
Argumen dapat menyertakan ekspresi seperti ini:
SELECT LEAST(2 * 3, 1 * 3)
FROM DUAL;
Hasil:
3
Tanggal
Berikut perbandingan string tanggal:
SELECT LEAST(DATE '2020-01-01', DATE '2021-01-01')
FROM DUAL;
Hasil:
01-JAN-20
Tanggal dikembalikan dalam format tanggal sesi saat ini. Lihat Cara Memeriksa Format Tanggal Sesi Saat Ini.
Nilai Null
Jika ada argumen null
, hasilnya null
:
SET NULL 'null';
SELECT
LEAST(null, 2),
LEAST(1, null)
FROM DUAL;
Hasil:
LEAST(NULL,2) LEAST(1,NULL) ________________ ________________ null null
Secara default, SQLcl dan SQL*Plus mengembalikan ruang kosong setiap kali nilai nol muncul sebagai akibat dari SELECT
SQL pernyataan.
Namun, Anda dapat menggunakan SET NULL
untuk menentukan string berbeda yang akan dikembalikan. Di sini saya menetapkan bahwa string null
harus dikembalikan.
Jumlah Argumen Tidak Valid
Memanggil LEAST()
tanpa argumen apa pun menghasilkan kesalahan:
SELECT LEAST()
FROM DUAL;
Hasil:
SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function"
Anda juga dapat menggunakan GREATEST()
untuk mengembalikan daftar terbesar dari satu atau lebih ekspresi.