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

Viết hoa tên ngày và tháng khi định dạng ngày trong Oracle

Khi lấy tên ngày và / hoặc tháng từ một ngày trong Oracle, bạn có thể muốn trả lại nó ở dạng viết hoa, viết thường hoặc viết hoa tiêu đề.

May mắn thay, điều này rất dễ thực hiện. Kết quả phản ánh cách viết hoa của mô hình định dạng của bạn.

Ví dụ

Khi sử dụng TO_CHAR() để trả về các phần ngày từ một giá trị ngày, bạn sử dụng một hoặc nhiều phần tử định dạng để tạo mô hình định dạng. Mô hình định dạng này xác định cách định dạng ngày khi nó được trả về.

Chúng ta có thể sử dụng DAYMONTH các phần tử định dạng để trả về tên ngày và tên tháng tương ứng.

Nhưng quan trọng, cách viết hoa mà chúng tôi sử dụng cho các phần tử định dạng này sẽ xác định cách viết hoa của kết quả.

Ví dụ:

 SELECT 
    TO_CHAR( DATE '2037-12-03', 'month' ) AS "month",
    TO_CHAR( DATE '2037-12-03', 'Month' ) AS "Month",
    TO_CHAR( DATE '2037-12-03', 'MONTH' ) AS "MONTH"
FROM DUAL; 

Kết quả:

 tháng 

Đối với DAY cũng vậy phần tử định dạng:

 SELECT 
    TO_CHAR( DATE '2037-12-03', 'day' ) AS "day",
    TO_CHAR( DATE '2037-12-03', 'Day' ) AS "Day",
    TO_CHAR( DATE '2037-12-03', 'DAY' ) AS "DAY"
FROM DUAL; 

Kết quả:

 day Day DAY ____________ ____________ ____________ Thứ Năm Thứ Năm THỨ NĂM 

Nó cũng áp dụng khi trả về phiên bản viết tắt của ngày hoặc tháng.

Ví dụ:

 SELECT 
    TO_CHAR( DATE '2037-12-03', 'mon' ) AS "mon",
    TO_CHAR( DATE '2037-12-03', 'Mon' ) AS "Mon",
    TO_CHAR( DATE '2037-12-03', 'MON' ) AS "MON"
FROM DUAL; 

Kết quả:

 mon Mon MON ______ ______ ______ Dec Dec DEC 

Và:

 SELECT 
    TO_CHAR( DATE '2037-12-03', 'dy' ) AS "dy",
    TO_CHAR( DATE '2037-12-03', 'Dy' ) AS "Dy",
    TO_CHAR( DATE '2037-12-03', 'DY' ) AS "DY"
FROM DUAL; 

Kết quả:

 dy Dy DY ______ ______ ______ thu Thu THU 

Năm

Có lẽ một thực tế ít được biết đến hơn, đó là Cơ sở dữ liệu Oracle cũng cung cấp các yếu tố định dạng trả về năm đánh vần đầy đủ. Cụ thể, YEARSYEAR (để phục vụ hoặc các ngày trước Công nguyên).

Cách viết hoa của các phần tử định dạng này cũng ảnh hưởng đến đầu ra:

 SELECT 
    TO_CHAR( DATE '2037-12-03', 'year' ) AS "year",
    TO_CHAR( DATE '2037-12-03', 'Year' ) AS "Year",
    TO_CHAR( DATE '2037-12-03', 'YEAR' ) AS "YEAR"
FROM DUAL; 

Kết quả:

 năm Năm NĂM ______________________ ______________________ ______________________ hai mươi ba mươi bảy Hai mươi ba mươi bảy HAI MƯƠI THỨ BA 

Và:

 SELECT 
    TO_CHAR( DATE '-2037-12-03', 'syear' ) AS "syear",
    TO_CHAR( DATE '-2037-12-03', 'Syear' ) AS "Syear",
    TO_CHAR( DATE '-2037-12-03', 'SYEAR' ) AS "SYEAR"
FROM DUAL; 

Kết quả:

 syear Syear SYEAR _______________________ _______________________ _______________________ -227 -Twenty Barty-Seven -TWENTY THIRTY-SEVEN 

Khi áp dụng chữ hoa tiêu đề với Syear phần tử định dạng, chúng ta cần nhớ rằng chỉ ký tự đầu tiên - S ký tự - được viết hoa và tất cả các ký tự còn lại là chữ thường (bao gồm cả Y nhân vật):


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lặp lại các hàng dựa trên giá trị cột trong mỗi hàng

  2. Trong oracle, làm cách nào để thay đổi phiên của tôi để hiển thị UTF8?

  3. Truy vấn SQL Oracle:Truy xuất các giá trị mới nhất cho mỗi nhóm dựa trên thời gian

  4. Câu lệnh FORALL với Mệnh đề ràng buộc INDICES-OF trong Cơ sở dữ liệu Oracle

  5. Nhóm theo các giá trị theo thứ tự