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

Làm thế nào để có được quý từ ngày trong Oracle?

Dưới đây, tôi đưa ra hai ví dụ để lấy một phần tư kể từ ngày trong Oracle bằng cách sử dụng PL / SQL và truy vấn SQL.

Nhận hàng quý bằng cách sử dụng hàm PL / SQL (hàm được lưu trữ) trong Oracle

Hàm sau nhận tham số ngày và trả về phần tư dưới dạng số.

CREATE OR REPLACE FUNCTION get_quarter (p_date IN DATE)
RETURN NUMBER
AS
l_qtr NUMBER;
l_month NUMBER;
BEGIN
l_month := TO_CHAR (p_date, 'mm');

IF l_month IN (1, 2, 3)
THEN
l_qtr := 1;
ELSIF l_month IN (4, 5, 6)
THEN
l_qtr := 2;
ELSIF l_month IN (7, 8, 9)
THEN
l_qtr := 3;
ELSIF l_month IN (10, 11, 12)
THEN
l_qtr := 4;
END IF;

RETURN l_qtr;
END get_quarter;

Kiểm tra

SELECT get_quarter (SYSDATE) FROM DUAL;

Đầu ra

 QUARTER
----------
3
1 row selected.

Nhận hàng quý bằng cách sử dụng truy vấn SQL trong Oracle

SELECT CASE
WHEN TO_CHAR (SYSDATE, 'mm') IN (1, 2, 3) THEN 1
WHEN TO_CHAR (SYSDATE, 'mm') IN (4, 5, 6) THEN 2
WHEN TO_CHAR (SYSDATE, 'mm') IN (7, 8, 9) THEN 3
WHEN TO_CHAR (SYSDATE, 'mm') IN (10, 11, 12) THEN 4
END
quarter
FROM DUAL;

Đầu ra

 QUARTER
----------
3
1 row selected.

Sử dụng Hàm TO_CHAR

Select TO_CHAR(sysdate, 'Q') from dual;

Đầu ra

 QUARTER
----------
3
1 row selected.

Xem thêm:

  • Các Hàm Ngày của Oracle | Danh sách các ví dụ nhanh
  • Ví dụ về hàm Oracle To_Date
  • Nhận dữ liệu các tháng trước trong Oracle
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle (Cũ?) Gia nhập - Một công cụ / tập lệnh để chuyển đổi?

  2. Cách hiệu quả nhất để kiểm tra xem một bản ghi có tồn tại trong Oracle không?

  3. Logic kinh doanh:Cơ sở dữ liệu hoặc Lớp ứng dụng

  4. Trình tự phân vùng Oracle

  5. Nhiều câu lệnh SQL chèn