Overview of basic arithmetic operators

Functions for Manipulating Data in PostgreSQL

Brian Piccolo

Sr. Director, Digital Strategy

Topics

  • Overview of basic arithmetic operators
  • The CURRENT_DATE, CURRENT_TIMESTAMP, NOW() functions
  • The AGE() function
  • The EXTRACT(), DATE_PART(), and DATE_TRUNC() functions
Functions for Manipulating Data in PostgreSQL

Adding and subtracting date / time data

SELECT date '2005-09-11' - date '2005-09-10';
+---------+
| integer |
|---------|
| 1       |
+---------+
Functions for Manipulating Data in PostgreSQL

Adding and subtracting date / time data

SELECT date '2005-09-11' + integer '3';
+------------+
| date       |
|------------|
| 2005-09-14 |
+------------+
Functions for Manipulating Data in PostgreSQL

Adding and subtracting date / time data

SELECT date '2005-09-11 00:00:00' - date '2005-09-09 12:00:00';
+----------------+
| interval       |
|----------------|
| 1 day 12:00:00 |
+----------------+
Functions for Manipulating Data in PostgreSQL

Calculating time periods with AGE

SELECT AGE(timestamp '2005-09-11 00:00:00', timestamp '2005-09-09 12:00:00');
+----------------+
| interval       |
|----------------|
| 1 day 12:00:00 |
+----------------+
Functions for Manipulating Data in PostgreSQL

DVDs, really??

SELECT 
    AGE(rental_date) 
FROM rental;
+-----------------------------------+
| age                               |
|-----------------------------------|
| 13 years 11 mons 12 days 01:06:30 |
| 13 years 11 mons 12 days 01:05:27 |
| 13 years 11 mons 12 days 00:56:21 |
+-----------------------------------+
Functions for Manipulating Data in PostgreSQL

Date / time arithmetic using INTERVALs

SELECT rental_date + INTERVAL '3 days' as expected_return
FROM rental;
+---------------------+
| expected_return     |
|---------------------|
| 2005-05-27 22:53:30 |
+---------------------+
Functions for Manipulating Data in PostgreSQL

Date / time arithmetic using INTERVALs

SELECT timestamp '2019-05-01' + 21 * INTERVAL '1 day';
+----------------------------+
| timestamp without timezone |
|----------------------------|
| 2019-05-22 00:00:00        |
+----------------------------+
Functions for Manipulating Data in PostgreSQL

Let's practice!

Functions for Manipulating Data in PostgreSQL

Preparing Video For Download...