In order to subtract hour from current datetime(timestamp) in PostgreSQL we will be using the two approaches one by using the make_interval() and other by Interval datatype. Here are examples of both the approaches. Also, we will look at how to Subtract hours from current datetime(timestamp) column in PostgreSQL table.
Subtract hours from current timestamp in PostgreSQL using INTERVAL data type:
We will be Using the INTERVAL data type to subtract hours from current datetime in PostgreSQL. When we subtract hours from current datetime(timestamp) using INTERVAL datatype the output will be in datetime(timestamp) format. In below example, we have subtracted 1 hour from current datetime using Interval data type.
Example 1 using CURRENT_TIMESTAMP:
SELECT CURRENT_TIMESTAMP::timestamp - INTERVAL '1 hours' AS new_datetime
Output:
Example 2 using NOW():
SELECT NOW()::timestamp - INTERVAL '1 hours' AS new_datetime
Output:
Subtract hours to datetime in PostgreSQL using make_interval() function:
We will be Using the make_interval() function to subtract hours from datetime in PostgreSQL. When we subtract hours from datetime using the make_interval() function, the output will be in current datetime(timestamp) format. In below example, we have subtracted 1 hour to timestamp
Example 1 using CURRENT_TIMESTAMP:
SELECT CURRENT_TIMESTAMP::timestamp - make_interval(hours => 1) as new_datetime
Output:
Example 2 using NOW():
SELECT NOW()::timestamp - make_interval(hours => 1) as new_datetime
Output:
Subtract hours from current datetime(timestamp) column in PostgreSQL table using Interval datatype:
We will be using below fruits table for our example to depict on how to subtract hours from current datetime(timestamp) column in PostgreSQL table.
fruits:
We have subtracted 2 hours from datetime column using INTERVAL datatype in postgresql and new column named new_date is being created as shown below.
Example 1 : using NOW() function
select *,NOW()::timestamp as current_dt, NOW()::timestamp - INTERVAL '2 HOURS' as new_date from fruits
OR
Example 2 : using CURRENT_TIMESTAMP
select *,CURRENT_TIMESTAMP::timestamp as current_dt, CURRENT_TIMESTAMP::timestamp - INTERVAL '2 HOURS' as new_date from fruits
Output:
Subtract hours from datetime column in PostgreSQL table using make_interval() function:
We have subtracted 2 hours from datetime column using make_interval() function in postgresql and new column named new_date is being created as shown below.
Example 1 : using NOW() function
select *,NOW()::timestamp as current_dt, NOW()::timestamp - make_interval(hours => 2) as new_date from fruits
OR
Example 2 : using CURRENT_TIMESTAMP
select *,CURRENT_TIMESTAMP::timestamp as current_dt, CURRENT_TIMESTAMP::timestamp - make_interval(hours => 2) as new_date from fruits
Output: