Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Hàm LEAST () trong Oracle

Trong Cơ sở dữ liệu Oracle, LEAST() hàm trả về ít nhất trong danh sách một hoặc nhiều biểu thức.

Cú pháp

Cú pháp như sau:

LEAST(expr [, expr ]...)

expr đầu tiên được sử dụng để xác định kiểu trả về:

  • Nếu expr đầu tiên là số, sau đó Oracle xác định đối số có ưu tiên số cao nhất, chuyển đổi ngầm các đối số còn lại thành kiểu dữ liệu đó trước khi so sánh và trả về kiểu dữ liệu đó.
  • Nếu expr đầu tiên không số, sau đó đến từng expr sau khi đầu tiên được chuyển đổi hoàn toàn thành kiểu dữ liệu của expr đầu tiên trước khi so sánh.

Ví dụ

Đây là một ví dụ:

SELECT LEAST('a', 'b', 'c')
FROM DUAL;

Kết quả:

a

Sau đây là một số thông tin khác:

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;

Kết quả:

   r1     r2    r3    r4            r5 
_____ ______ _____ _____ _____________ 
A     Cat        1     1 2001-12-31   

Biểu thức

Các đối số có thể bao gồm các biểu thức như sau:

SELECT LEAST(2 * 3, 1 * 3)
FROM DUAL;

Kết quả:

3

Ngày

Dưới đây là so sánh các chuỗi ngày:

SELECT LEAST(DATE '2020-01-01', DATE '2021-01-01')
FROM DUAL;

Kết quả:

01-JAN-20

Ngày được trả về ở định dạng ngày của phiên hiện tại. Xem Cách kiểm tra định dạng ngày của phiên hiện tại.

Giá trị rỗng

Nếu bất kỳ đối số nào null , kết quả là null :

SET NULL 'null';
SELECT 
    LEAST(null, 2),
    LEAST(1, null)
FROM DUAL;

Kết quả:

   LEAST(NULL,2)    LEAST(1,NULL) 
________________ ________________ 
null                         null

Theo mặc định, SQLcl và SQL * Plus trả về một khoảng trống bất cứ khi nào giá trị null xảy ra do một SELECT trong SQL tuyên bố.

Tuy nhiên, bạn có thể sử dụng SET NULL để chỉ định một chuỗi khác được trả về. Ở đây tôi đã chỉ định rằng chuỗi null nên được trả lại.

Số lượng đối số không hợp lệ

Gọi LEAST() mà không có bất kỳ đối số nào dẫn đến lỗi:

SELECT LEAST()
FROM DUAL;

Kết quả:

SQL Error: ORA-00938: not enough arguments for function
00938. 00000 -  "not enough arguments for function"

Bạn cũng có thể sử dụng GREATEST() để trả về giá trị lớn nhất trong danh sách một hoặc nhiều biểu thức.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phương pháp thu thập:Hàm COUNT trong cơ sở dữ liệu Oracle

  2. ORA-00936:thiếu biểu thức tiên tri

  3. CHO THUÊ LOB

  4. Cách thực thi tệp tập lệnh .SQL bằng c #

  5. Làm cách nào để lưu trữ một chuỗi dài hơn 4000 ký tự trong Cơ sở dữ liệu Oracle bằng Java / JDBC?