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