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

Làm cách nào để đặt dấu dữ liệu giá trị mặc định của Postgresql như 'YYYYMM'?

Xin lưu ý rằng định dạng của ngày là độc lập với bộ nhớ. Nếu điều cần thiết đối với bạn là ngày được lưu trữ ở định dạng đó, bạn sẽ cần phải xác định một kiểu dữ liệu tùy chỉnh hoặc lưu trữ nó dưới dạng một chuỗi. Sau đó, bạn có thể sử dụng kết hợp giải nén , đánh máy và nối để có được định dạng đó.

Tuy nhiên, tôi nghi ngờ rằng bạn muốn lưu trữ một ngày tháng và lấy định dạng trên đầu ra. Vì vậy, một cái gì đó như thế này sẽ thực hiện thủ thuật cho bạn:

    CREATE TABLE my_table
    (
    id serial PRIMARY KEY not null,
    my_date date not null default CURRENT_DATE
    );

(CURRENT_DATE is basically a synonym for now() and a cast to date).

(Đã chỉnh sửa để sử dụng to_char).

Sau đó, bạn có thể nhận được đầu ra của mình như:

SELECT id, to_char(my_date, 'yyyymm') FROM my_table;

Bây giờ, nếu bạn đã thực sự cần lưu trữ trường đó dưới dạng một chuỗi và đảm bảo định dạng bạn luôn có thể thực hiện:

CREATE TABLE my_other_table
(
id serial PRIMARY KEY not null,
my_date varchar(6) default to_char(CURRENT_DATE, 'yyyymm')
);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cập nhật các bản ghi thỏa mãn một điều kiện với số lượng tăng dần

  2. Tôi có thể tạo một cách chọn lọc bản sao lưu cơ sở dữ liệu Postgres, chỉ với các bảng xác nhận không?

  3. Quay lại phiên bản readline 6.x trong Homebrew để sửa Postgresql?

  4. Gây ra bởi:org.hibernate.MappingException:Cột lặp lại trong ánh xạ cho thực thể

  5. Làm cách nào tôi có thể nghe cơ sở dữ liệu postgresql với SignalR Core trong dự án lõi .net?