Csak siman CASTold a TIMESTAMP-et DATE-re es TIME-ra, felesleges a substring.
select CAST('2006-08-01 13:47:02'::timestamp AS DATE);
date
------------
2006-08-01
(1 row)
select CAST('2006-08-01 13:47:02'::timestamp AS TIME);
time
----------
13:47:02
(1 row)