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

Nhận thế kỷ từ một ngày trong PostgreSQL

Trong Postgres, bạn có thể sử dụng to_char() hàm để trả về thế kỷ, dựa trên một ngày nhất định.

Để thực hiện việc này, hãy sử dụng CC như đối số thứ hai. Điều này trả về thế kỷ gồm hai chữ số dựa trên ngày được cung cấp.

Ví dụ

Đây là một ví dụ để chứng minh.

SELECT to_char(date '2001-03-20', 'CC');

Kết quả:

21

Trong trường hợp này, ngày ở thế kỷ 21, vì vậy tôi nhận được kết quả là 21.

Lưu ý rằng thế kỷ 21 bắt đầu từ 2001-01-01.

Đây là những gì sẽ xảy ra nếu tôi sử dụng một ngày trước ngày đó.

SELECT to_char(date '2000-03-20', 'CC');

Kết quả:

20

Thêm hậu tố số thứ tự

Bạn có thể thêm th hoặc TH vào đối số thứ hai để thêm chỉ số thứ tự vào thế kỷ.

th thêm hậu tố số thứ tự chữ thường và TH thêm hậu tố số thứ tự viết hoa.

SELECT 
  to_char(date '2001-03-20', 'CCth') AS "2001 CCth",
  to_char(date '2001-03-20', 'CCTH') AS "2001 CCTH",
  to_char(date '2000-03-20', 'CCth') AS "2000 CCth",
  to_char(date '2000-03-20', 'CCTH') AS "2000 CCTH";

Kết quả:

 2001 CCth | 2001 CCTH | 2000 CCth | 2000 CCTH 
-----------+-----------+-----------+-----------
 21st      | 21ST      | 20th      | 20TH

Nối “Century”

Giá trị thế kỷ và chỉ số thứ tự của nó hiện có thể được nối với chuỗi “Thế kỷ” nếu được yêu cầu.

SELECT 
  concat(to_char(date '2001-03-20', 'CCth'), ' Century!');

Kết quả:

21st Century!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn JSON lồng nhau PostgreSQL

  2. SQLAlchemy - SQLite để thử nghiệm và Postgresql để phát triển - Làm thế nào để chuyển?

  3. Làm cách nào để sử dụng vòng lặp SQL for để chèn các hàng vào cơ sở dữ liệu?

  4. Loại bỏ các thẻ HTML trong PostgreSQL

  5. HEX () và UNHEX () của MySQL tương đương trong Postgres?