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

Cách thay đổi định dạng ngày trong cơ sở dữ liệu oracle

Chúng tôi thường cần thay đổi định dạng ngày trong khi kiểm tra. Dưới đây là một số cách bạn có thể sử dụng để thay đổi định dạng ngày tháng trong cơ sở dữ liệu Oracle

Định dạng ngày mặc định của Oracle

Định dạng ngày mặc định trong oracle được kiểm soát bởi giá trị của tham số NLS_DATE_FORMAT.

Truy vấn sau có thể được sử dụng để tìm giá trị hiện tại của tham số NLS_DATE_FORMAT

SELECT
  value
FROM
  V$NLS_PARAMETERS
WHERE
  parameter = 'NLS_DATE_FORMAT';

Cách thay đổi định dạng cho cả phiên

Chúng ta có thể thay đổi tham số trong phiên và chọn bất kỳ định dạng nào chúng ta muốn cho ngày Oracle. Đây là sql có thể được sử dụng để làm trong phiên

ALTER SESSION SET NLS_DATE_FORMAT = '[date_format]';
MM  Numeric month (e.g., 07)
MON     Abbreviated month name (e.g., JUL)
MONTH   Full month name (e.g., JULY)
DD  Day of month (e.g., 24)
DY  Abbreviated name of day (e.g., FRI)
YYYY    4-digit year (e.g., 1998)
YY  Last 2 digits of the year (e.g., 98)
RR  Like YY, but the two digits are ``rounded'' to a year in the range 1950 to 2049. Thus, 06 is considered 2006 instead of 1906
AM (or PM)  Meridian indicator
HH  Hour of day (1-12)
HH24    Hour of day (0-23)
MI  Minute (0-59)
SS  Second (0-59)

Ví dụ

alter session set nls_date_format = 'dd-mon-yyyy hh24:mi:ss';

Bây giờ, bất kỳ truy vấn nào bạn sẽ thực thi, cột ngày sẽ được định dạng theo định dạng ngày ở trên

Example
select sysdate from dual;

Cách thay đổi định dạng ngày bằng hàm to_char

Chúng tôi có thể muốn có một định dạng ngày khác cho các truy vấn sql khác nhau. Trong trường hợp đó, bạn có thể dự định sử dụng hàm to_char trong một hàng của Oracle và có thể chuyển đổi cột dữ liệu oracle sang bất kỳ định dạng nào bạn muốn

Example
select to_char(sysdate, 'dd-mon-yyyy hh24:mi:ss')  from dual; 
select to_char(sysdate, 'dd-mon-yyyy')  from dual;  

Cách thay đổi định dạng ngày bằng hàm to_date

Chúng tôi có thể muốn thay đổi các chuỗi thành định dạng ngày tháng để so sánh, để lưu trữ dưới dạng ngày tháng trong bảng Oracle. Trong trường hợp này, bạn có thể sử dụng hàm to_date của Oracle

 Example
select to_date('11-JAN-2019 13:12:12', 'dd-mon-yyyy hh24:mi:ss')  from dual; 
select to_date( '11-JAN-2019', 'dd-mon-yyyy')  from dual;   

Điều quan trọng cần lưu ý:chuỗi được chuyển đổi thành ngày và ngày được trả về như ở định dạng ngày mặc định trong câu lệnh select. Nếu bạn đang sử dụng hàm to_date để lưu trữ chuỗi dưới dạng ngày tháng trong cột ngày tháng, thì chuỗi đó sẽ chỉ được lưu trữ dưới dạng ngày tháng. Bây giờ khi chọn, ngày cột đó sẽ được hiển thị ở định dạng ngày mặc định của oracle đã đặt trong phiên.

Cách định dạng ngày để hiển thị ngày, tuần, tháng, v.v.

 Day of Week
 SQL> select to_char(sysdate,'D') col from dual; 
 col
----
 2

 Name of WeekDay
 SQL> select to_char(sysdate,'DAY') col from dual;
 col
---
MONDAY
 
Abbreviated name of day
 SQL> select to_char(sysdate,'DY') from dual;
 col
----
 MON
 
Day of Month
 SQL> select to_char(sysdate,'DD') from dual;
 col
----
 30
 
Abbreviated name of month
 SQL> select to_char(sysdate,'MON') from dual;
 col
----
 NOV
 
Name of Month
 SQL> select to_char(sysdate,'MONTH') from dual;
 col
-----
NOVEMBER

Day of Year
SQL> select to_char(sysdate,'DDD') from dual;
 col
----
 334
 
Week of the year
SQL> select to_char(sysdate,'IW') from dual;
 col
----
 05

Week of Month
 SQL> select to_char(sysdate,'W') from dual;
 col
-----
 5

Month in Numbers
SQL> select to_char(sysdate,'MM') from dual;
 col
----
 11

Year in Numbers
SQL> select to_char(sysdate,'YYYY') from dual;
 col
----
 2019
 
Year in words
SQL> select to_char(sysdate,'YEAR') from dual;
col
---
TWENTY NINE

Hour in 0-12 format
SQL> select to_char(sysdate,'HH') from dual'
col
----
08

Hour in 0-24 format
SQL> select to_char(sysdate,'HH24') from dual;
col
---
 12

Minutes
 SQL> select to_char(sysdate,'MI') from dual;
 col
----
 45
 
Seconds
 SQL> select to_char(sysdate,'SS') from dual;
 col
----
 45
 

Tôi hy vọng bạn thích các bước đơn giản này về cách thay đổi định dạng ngày trong cơ sở dữ liệu oracle. Có thể có nhiều ví dụ mà điều này có thể được sử dụng. Tôi chỉ đưa ra một số ví dụ đơn giản để chứng minh chức năng

Cũng đọc
các hàm oracle date:Bài đăng này bao gồm các hàm oracle date, chênh lệch ngày oracle theo năm, chênh lệch ngày oracle trong ngày, chênh lệch ngày oracle trong tháng.
Hàm NULLIF trong Oracle:Hàm NULLIF trong Oracle so sánh hai giá trị và trả về null nếu các giá trị giống nhau, nếu không trả về giá trị đầu tiên. Bạn không thể chỉ định chữ NULL trong các giá trị
Câu lệnh cập nhật trong oracle:Chúng tôi sử dụng câu lệnh Update trong oracle để sửa đổi các hàng hiện có trong bảng oracle trong oracle database. Update có thể được thực thi theo nhiều cách
Hàm Coalesce trong Oracle:Hàm Coalesce trong oracle sẽ trả về biểu thức đầu tiên nếu nó không phải là null. lấy siêu dữ liệu của một bảng trong oracle:Kiểm tra cách lấy định nghĩa bảng trong oracle, định nghĩa chỉ mục của chương trình oracle, lấy ddl của chế độ xem cụ thể hóa trong oracle, nhận truy vấn về một chế độ xem trong oracle
http://infolab.stanford .edu / ~ ullman / fcdb / oracle / or-time.html


  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ách các giá trị được phân tách bằng dấu phẩy trong Oracle

  2. CLEAR SCREEN - Phím tắt Oracle SQL Developer?

  3. Có thể chuyển tên bảng làm tham số trong Oracle không?

  4. Bắt đầu với Cơ sở dữ liệu tự trị của Oracle trên Đám mây

  5. Cách giải quyết ORA-29285:lỗi ghi tệp