On Dec 5, 2006, at 8:13 , Alejandro Michelin Salomon (( Adinet )) wrote:

This table has :

Inicial date
Inicial hour
Duration
Final Date
Final time

Final Date and Final time are calculate based in Inicial date, Inicial hour, Duration.

<snip />

But i only need 2006-12-05 from the resulting timestamp.

How to cut only the date from this timestamp?

# select cast('2006-12-04 20:00'::timestamp + interval '5 hours' as date);
    date
------------
2006-12-05
(1 row)

That should do what you want.

I'd suggest changing your schema a little bit to remove the derived columns.

inicial_timestamp timestamp with time zone
duration interval

I'd also recommend using timestamp with time zone, as it uniquely identifies a global time.

Inicial date, inicial hour, final date, and final hour can be derived from these two columns, e.g..

select cast('2006-12-04 20:00'::timestamptz + interval '5 hours' as time);
   time
----------
01:00:00
(1 row)

This also saves you the need to check that final hour and final date columns are correct compared to the inicial date, inicial hour, and duration columns.

Hope this helps.

Michael Glaesemann
grzm seespotcode net



---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to