On Thu, 2005-04-21 at 09:52, Christopher J. Bottaro wrote: > Alvaro Herrera wrote: > > > On Thu, Apr 21, 2005 at 09:22:26AM -0500, Christopher J. Bottaro wrote: > >> John DeSoi wrote: > >> > >> > > >> > On Apr 20, 2005, at 6:15 PM, Christopher J. Bottaro wrote: > >> > > >> >> I understand that CURRENT_TIMESTAMP marks the beginning of the current > >> >> transaction. I want it to be the actual time. How do I do this? > >> >> timeofday() returns a string, how do I convert that into a TIMESTAMP? > >> > > >> > timeofday()::timestamp; > >> > >> Great, that did it, thanks. I also found out that you can say > >> CAST(timeofday() AS TIMESTAMP). I assume its the same thing... > > > > Not sure it's the same thing. IIRC, CURRENT_TIMESTAMP returns a > > timestamp with time zone, whereas casting to timestamp unadorned returns > > a timestamp without time zone. Try > > > > cast(timeofday() as timestamptz) > > or > > cast(timeofday() as timestamp with time zone) > > > > It may not matter a lot but you may as well be aware of the difference ... > > Ahh, thanks for the tip. I guess I'll just stick with > timeofday()::timestamp...its more concise anyways... 2 points: 1: cast(timeofday() as timestamptz) is the SQL standard way of doing it, and it's more portable. 2: I think Alvaro's point was about timestamp with timezone, not the format for casting. i.e. if you use postgresql's shorthand for casting, you could use this for timestamptz: select timeofday()::timestamptz ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings