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

Thêm tháng vào một ngày trong PostgreSQL

Trong PostgreSQL, chúng ta có thể sử dụng + toán tử để thêm một hoặc nhiều tháng vào một ngày. Có một số tùy chọn khi nói đến việc chỉ định số tháng thực tế.

Ví dụ

Postgres cho phép chúng tôi chỉ định khoảng thời gian khi thêm vào ngày. Do đó, chúng tôi có thể chỉ định month hoặc month :

SELECT date '2030-01-20' + interval '1 month';

Kết quả:

2030-02-20 00:00:00

Và ở dạng số nhiều:

SELECT date '2030-01-20' + interval '6 months';

Kết quả:

2030-07-20 00:00:00

Được chỉ định trong ngày

Chúng tôi cũng có thể sử dụng số tương đương theo ngày (hoặc tuần cho vấn đề đó):

SELECT date '2030-01-20' + interval '31 days';

Kết quả:

2030-02-20 00:00:00

Rõ ràng, điều này có khớp với số tháng chính xác hay không sẽ phụ thuộc vào số ngày hoặc tuần thực tế được chỉ định.

Ngoài ra, chúng ta có thể sử dụng một số nguyên khi chỉ định nó trong ngày:

SELECT date '2030-01-20' + 31;

Kết quả:

2030-02-20

Chúng ta cũng có thể làm như thế này:

SELECT date '2030-01-20' + integer '31';

Kết quả:

2030-02-20

Giá trị phủ định

Chúng tôi cũng có thể thực hiện số học ngày với các giá trị âm. Nếu chúng tôi sử dụng giá trị âm với + ký, sau đó số tháng được chỉ định sẽ được trừ vào ngày. Nhưng nếu chúng ta sử dụng nó với - ký, sau đó nó sẽ được thêm vào ngày.

Ví dụ:

SELECT date '2030-01-20' - interval '-6 months';

Kết quả:

2030-07-20 00:00:00

Chúng ta có thể làm điều tương tự với tùy chọn số nguyên:

SELECT date '2030-01-20' - integer '-181';

Kết quả:

2030-07-20

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thực thi sql gốc với hibernate

  2. Nâng cấp cột varchar thành kiểu enum trong postgresql

  3. Tạo chế độ chờ lạnh cho PostgreSQL bằng Amazon AWS

  4. Tên cột PL / pgSQL giống như biến

  5. Sử dụng regex ở WHERE trong Postgres