SQL Server có DATEADD()
hàm thêm một khoảng thời gian vào một giá trị ngày. DATE_ADD()
của MySQL và ADDDATE()
đối với điều tương tự, cũng như DATE_ADD()
của MariaDB và ADDDATE()
. SQLite có DATE()
chức năng cũng cung cấp tùy chọn thêm khoảng thời gian vào một ngày nhất định.
Nhưng PostgreSQL không có DATEADD()
hoặc chức năng tương đương.
Tuy nhiên, điều đó không có nghĩa là chúng tôi không thể thêm ngày vào Postgres. Chúng tôi có thể thêm và trừ các giá trị từ ngày bằng các toán tử ngày / giờ như +
và -
.
Ví dụ
Thêm năm ngày vào một ngày:
SELECT date '2027-05-20' + integer '5';
Kết quả:
2027-05-25
Trừ năm ngày kể từ một ngày bằng số tiền âm:
SELECT date '2027-05-20' + integer '-5';
Kết quả:
2027-05-15
Trừ năm ngày kể từ một ngày bằng dấu trừ (-
):
SELECT date '2027-05-20' - integer '5';
Kết quả:
2027-05-15
Thêm năm tuần vào một ngày, được chỉ định theo ngày:
SELECT date '2027-05-20' + integer '35';
Kết quả:
2027-06-24
Thêm năm tuần vào một ngày bằng cách sử dụng interval
:
SELECT date '2027-05-20' + interval '5 week';
Kết quả:
2027-06-24 00:00:00
Thêm năm tháng vào một ngày bằng cách sử dụng interval
:
SELECT date '2027-05-20' + interval '5 month';
Kết quả:
2027-10-20 00:00:00
Thêm năm giờ vào một ngày:
SELECT date '2027-05-20' + interval '5 hour';
Kết quả:
2027-05-20 05:00:00
Thêm năm phút vào một ngày:
SELECT date '2027-05-20' + interval '5 minute';
Kết quả:
2027-05-20 00:05:00
Thêm thời gian vào một ngày:
SELECT date '2027-05-20' + time '05:45';
Kết quả:
2027-05-20 05:45:00