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

Nhận ngày đầu tiên của tháng trong postgres

Bạn có thể sử dụng biểu thức date_trunc('month', current_date) . Được thể hiện bằng câu lệnh SELECT. . .

select date_trunc('month', current_date)
2013-08-01 00:00:00-04

Để loại bỏ thời gian, hãy truyền đến ngày.

select cast(date_trunc('month', current_date) as date)
2013-08-01

Nếu bạn chắc chắn rằng cột đó nên luôn luôn chỉ lưu trữ vào ngày đầu tiên của tháng, bạn cũng nên sử dụng ràng buộc KIỂM TRA.

create table foo (
  first_of_month date not null
  check (extract (day from first_of_month) = 1)
);

insert into foo (first_of_month) values ('2015-01-01'); --Succeeds
insert into foo (first_of_month) values ('2015-01-02'); --Fails
ERROR:  new row for relation "foo" violates check constraint "foo_first_of_month_check"
DETAIL:  Failing row contains (2015-01-02).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql regexp_replace

  2. Cách chuyển đổi Dấu thời gian Unix thành Giá trị Ngày / Giờ trong PostgreSQL

  3. Perl + PostgreSQL-- Cột chọn lọc để chuyển đổi hàng

  4. Cách AT TIME ZONE hoạt động trong PostgreSQL

  5. Khi nào chúng ta có thể sử dụng số định danh thay cho tên của nó trong PostgreSQL?