-- Get total seconds in '1 day 15:11:10.123'
SELECT EXTRACT(EPOCH FROM '1 day 15:11:10.123'::INTERVAL)
# 141070.123
Select part of a timestamp
:
SELECT date_part('day', TIMESTAMP '2001-02-16 20:38:40');
Result: 16
SELECT date_part('hour', INTERVAL '4 hours 3 minutes');
Result: 4
Trunc part of the timestamp
:
SELECT date_trunc('hour', TIMESTAMP '2001-02-16 20:38:40');
Result: 2001-02-16 20:00:00
SELECT date_trunc('year', TIMESTAMP '2001-02-16 20:38:40');
Result: 2001-01-01 00:00:00
/* https://stackoverflow.com/a/30783772/3149679 */
WHERE
created >= date_trunc('week', CURRENT_TIMESTAMP - interval '1 week')
AND
created < date_trunc('week', CURRENT_TIMESTAMP)