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!