PostgreSQL STATEMENT_TIMESTAMP Date/Time Function
PostgreSQL STATEMENT_TIMESTAMP Date/Time Function
The PostgreSQL STATEMENT_TIMESTAMP
function is used to retrieve the current date and time with time zone at the start of the current statement. This function is essential for obtaining the precise timestamp of when a specific statement begins execution.
Syntax
STATEMENT_TIMESTAMP()
The STATEMENT_TIMESTAMP
function does not take any arguments and returns a timestamp with time zone representing the current date and time at the start of the current statement.
Example PostgreSQL STATEMENT_TIMESTAMP Queries
Let's look at some examples of PostgreSQL STATEMENT_TIMESTAMP
function queries:
1. Basic STATEMENT_TIMESTAMP Example
SELECT STATEMENT_TIMESTAMP() AS statement_start_time;
This query retrieves the current date and time with time zone at the start of the current statement.
2. STATEMENT_TIMESTAMP with Column Values
SELECT id, name, STATEMENT_TIMESTAMP() AS query_time
FROM people;
This query retrieves the id
, name
, and the current date and time with time zone at the start of the current statement for each row in the people
table.
3. STATEMENT_TIMESTAMP in Conditional Statements
SELECT id, name
FROM events
WHERE event_time > STATEMENT_TIMESTAMP();
This query retrieves the id
and name
of events that are scheduled to occur after the current date and time with time zone at the start of the current statement.
Full Example
Let's go through a complete example that includes creating a table, inserting data, and using the STATEMENT_TIMESTAMP function to capture the current date and time at the start of the statement.
Step 1: Creating a Table
This step involves creating a new table named people
to store people's data.
CREATE TABLE people (
id SERIAL PRIMARY KEY,
name TEXT
);
In this example, we create a table named people
with columns for id
and name
.
Step 2: Inserting Data into the Table
This step involves inserting some sample data into the people
table.
INSERT INTO people (name)
VALUES ('Alice'),
('Bob'),
('Charlie');
Here, we insert data into the people
table.
Step 3: Using the STATEMENT_TIMESTAMP Function
This step involves using the STATEMENT_TIMESTAMP()
function to capture the current date and time during the execution of queries.
Retrieve current statement start timestamp:
SELECT STATEMENT_TIMESTAMP() AS statement_start_time;
This query retrieves the current date and time with time zone at the start of the current statement.
Capture current statement start timestamp with column values:
SELECT id, name, STATEMENT_TIMESTAMP() AS query_time
FROM people;
This query captures the current date and time with time zone at the start of the current statement for each row in the people
table.
Retrieve events occurring after the current statement start timestamp:
SELECT id, name
FROM events
WHERE event_time > STATEMENT_TIMESTAMP();
This query retrieves the id
and name
of events that are scheduled to occur after the current date and time with time zone at the start of the current statement.
Conclusion
The PostgreSQL STATEMENT_TIMESTAMP()
function is a fundamental tool for retrieving the current date and time with time zone at the start of the current statement. Understanding how to use the STATEMENT_TIMESTAMP()
function and its syntax is essential for accurate time-based operations in PostgreSQL databases.