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

2 cách để có được một ngày trong Oracle

Dưới đây là hai hàm có thể được sử dụng để trả về ngày từ một ngày trong Cơ sở dữ liệu Oracle.

EXTRACT() Chức năng

EXTRACT(datetime) hàm được sử dụng để trích xuất các phần datetime khác nhau từ một giá trị datetime. Điều này bao gồm cả ngày.

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

SELECT EXTRACT(DAY FROM DATE '2037-10-25')
FROM DUAL;

Kết quả:

25

Đó là DAY từ khóa trích xuất phần ngày từ ngày. Chúng ta có thể lấy các phần ngày tháng khác bằng cách thay đổi nó thành từ khóa có liên quan. Ví dụ:YEAR , MONTH , HOUR , MINUTE , v.v.

Chúng tôi cũng có thể sử dụng hàm với các giá trị ngày giờ khác, chẳng hạn như TIMESTAMP , v.v.

TO_CHAR(datetime) Chức năng

Chúng tôi cũng có thể sử dụng TO_CHAR(datetime) hoạt động như một phương pháp thay thế để lấy ngày từ một ngày.

Hàm này chấp nhận giá trị ngày giờ hoặc khoảng thời gian làm đối số đầu tiên và mô hình định dạng làm đối số thứ hai. Sau đó, hàm chuyển đổi giá trị thành kiểu dữ liệu VARCHAR2 ở định dạng được chỉ định.

Mô hình định dạng chỉ định định dạng để trả về giá trị ngày giờ / khoảng thời gian. Mô hình định dạng bao gồm một hoặc nhiều phần tử định dạng . Điều này cho phép chúng tôi tạo ra các kết quả một cách cẩn thận để phản ánh định dạng mong muốn của chúng tôi.

Nếu chúng ta chỉ muốn trả về ngày, chúng ta có thể sử dụng một trong các yếu tố định dạng để trích xuất ngày.

Ngày trong tháng

Để lấy ngày trong tháng (từ 1-31), hãy sử dụng DD phần tử định dạng:

SELECT TO_CHAR(DATE '2037-10-03', 'DD')
FROM DUAL;

Kết quả:

03

Tên ngày đầy đủ

Để có tên đầy đủ của ngày, hãy sử dụng DAY :

SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;

Kết quả:

SATURDAY

Tên ngày ngắn

Để lấy tên ngày viết tắt, hãy sử dụng DY :

SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;

Kết quả:

SAT

Ngày trong năm

Để nhận ngày trong năm (từ 1-366), hãy sử dụng DDD phần tử định dạng:

SELECT TO_CHAR(DATE '2037-10-03', 'DDD')
FROM DUAL;

Kết quả:

276

Ngày trong tuần

Để xem ngày trong tuần (từ 1-7), hãy sử dụng D phần tử định dạng:

SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;

Kết quả:

6

Phần tử định dạng này phụ thuộc vào lãnh thổ NLS của phiên. Giá trị của NLS_TERRITORY hệ thống của tôi tham số là AUSTRALIA và do đó, thứ Bảy được coi là ngày thứ sáu trong tuần.

Đây là những gì sẽ xảy ra nếu tôi thay đổi giá trị của NLS_TERRITORY của mình tham số thành AMERICA và chạy lại cùng một truy vấn:

ALTER SESSION SET NLS_TERRITORY = 'AMERICA';
SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;

Kết quả:

7

Lúc này thứ Bảy được coi là ngày thứ bảy trong tuần.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm ra không gian trống trên không gian bảng

  2. Các thay đổi của Oracle Ace

  3. Oracle - Cách tạo một khung nhìn cụ thể hóa với FAST REFRESH và JOINS

  4. Cách tốt nhất để thực hiện chèn nhiều hàng trong Oracle?

  5. Kết nối với cơ sở dữ liệu Oracle bằng SQLAlchemy