Trong PostgreSQL, chúng ta có thể sử dụng +
toán tử để thêm một hoặc nhiều giờ vào một giá trị thời gian.
Theo giá trị "thời gian", đây có thể là time
thực tế giá trị, một timestamp
hoặc một interval
. Chúng tôi cũng có thể thêm giờ vào một date
giá trị hoặc một date
và time
sự phối hợp.
Ví dụ
Chúng tôi có thể chỉ định khoảng thời gian khi thêm vào ngày và giờ. Ví dụ:chúng ta có thể sử dụng hour
hoặc hour
để thêm một hoặc nhiều giờ:
SELECT time '08:35' + interval '1 hour';
Kết quả:
09:35:00
Số nhiều
Và ở dạng số nhiều:
SELECT time '08:35' + interval '2 hours';
Kết quả:
10:35:00
Dấu thời gian
Và đây là với timestamp
giá trị:
SELECT timestamp '2030-01-20 08:35' + interval '2 hours';
Kết quả:
2030-01-20 10:35:00
Khoảng thời gian
Chúng tôi cũng có thể thêm giờ vào một khoảng thời gian interval
:
SELECT interval '23 hours' + interval '2 hours';
Kết quả:
25:00:00
Ngày
Chúng tôi thậm chí có thể thêm giờ vào một date
giá trị:
SELECT date '2030-01-20' + interval '3 hours';
Kết quả:
2030-01-20 03:00:00
Kết quả là một timestamp
giá trị.
Giá trị Ngày &Giờ được Kết hợp
Chúng tôi cũng có thể thêm date
và time
giá trị cùng nhau và thêm giờ cho điều đó:
SELECT date '2030-01-20' + time '02:35' + interval '3 hours';
Kết quả:
2030-01-20 05:35:00
Được chỉ định trong phút
Một cách khác để làm điều đó là chỉ định số tương đương trong vài phút:
SELECT time '15:45' + interval '60 minutes';
Kết quả:
16:45:00
Khi làm điều này, chúng tôi không cần phải chính xác về giờ. Ví dụ:chúng tôi có thể thêm hơn một giờ, nhưng ít hơn hai giờ:
SELECT time '15:45' + interval '90 minutes';
Kết quả:
17:15:00
Giá trị phủ định
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 +
toán tử, sau đó số giờ được chỉ định sẽ được trừ cho ngày / giờ đầu vào. Nhưng nếu chúng ta sử dụng nó với -
toán tử, sau đó nó sẽ được thêm vào ngày / giờ đầu vào.
Ví dụ:
SELECT time '03:00' - interval '-2 hours';
Kết quả:
05:00:00