Re: timestamp check - Mailing list pgsql-general

From Adrian Klaver
Subject Re: timestamp check
Date
Msg-id 55A557F6.904@aklaver.com
Whole thread Raw
In response to Re: timestamp check  (Ramesh T <rameshparnanditech@gmail.com>)
List pgsql-general
On 07/14/2015 07:13 AM, Ramesh T wrote:
> i added .MS getting values,But Problem query keep on running but not
> displaying results,when i add like limit 5.it <http://5.it> is return
> values..
>
> what is the problem  with query..?

As has been explained several times already, subtracting one timestamp
from another is going to get an interval not a timestamp:

postgres@production=# select current_timestamp - '01/01/2015'::timestamp;
          ?column?
--------------------------
  194 days 10:37:33.709606
(1 row)

That cannot be turned into a date:

postgres@production=# select to_char(current_timestamp -
'01/01/2015'::timestamp, 'DDD HH:MI:SS.MS');
      to_char
------------------
  194 10:39:06.994
(1 row)

That is not going to change.

So the question remains:

What are you trying to do, get an interval or get a timestamp?



> changed date and changed_dttimezone are are parameters..
>
>
> select to_char((current_timestamp -
> TO_TIMESTAMP(to_char(chaged_date,'YYYY-MM-DD HH24'|| ' '||'MI'||'
> '||'SS')||' '||(SELECT utc_offset  FROM pg_catalog.pg_timezone_names
> WHERE name=changed_dttimezone), 'YYYY-MM-DD HH24'||' '||'MI'||'
> '||'SS')::timestamptz),'DDD HH:MI:SS.MS <http://SS.MS>')
>
>
>
>
>
> On Tue, Jul 14, 2015 at 4:23 PM, Ramesh T <rameshparnanditech@gmail.com
> <mailto:rameshparnanditech@gmail.com>> wrote:
>
>     Yes,But i need to display last digits also
>
>     Inline image 1
>
>     like 1500 08-09-10.738901
>
>     On Mon, Jul 13, 2015 at 8:18 PM, Francisco Olarte
>     <folarte@peoplecall.com <mailto:folarte@peoplecall.com>> wrote:
>
>         Hi Ramesh:
>
>         On Sun, Jul 12, 2015 at 8:21 AM, Ramesh T
>         <rameshparnanditech@gmail.com
>         <mailto:rameshparnanditech@gmail.com>> wrote:
>
>             postgres query
>             select current_timestamp-
>             TO_TIMESTAMP(to_char(DATE1, 'YYYY-MM-DD HH24'|| ' '||'MI'||'
>             '||'SS')||' '||(SELECT utc_offset  FROM
>             pg_catalog.pg_timezone_names
>             WHERE name=DATETIMEZOZE1)   , ''YYYY-MM-DD HH24'||'
>             '||'MI'||' '||'SS')::timestamptz
>
>             getting result..
>
>             Inline image 1
>
>
>             But in oracle using systimestamp,to_timestamptz and SS TZH
>             is not supporting  to_timestamp in postgres.
>
>
>         ​I do not know about Oracle, but in postgres you are
>         substracting to timestamps ( current_timestamp -
>         to_timestamp(whatever) ). This gives you an interval.​
>
>
>
>             result..
>
>             Inline image 2
>
>             diffrence is days displaying in postgres query..i thnk
>             something wrong. is it..?
>
>
>         ​Days is displaying in postgres query because it is the default
>         format to display intervals ( it's a little more complicated,
>         but related ).
>
>         $ select '1500 days 8 hours 9 minutes 10 seconds'::interval;
>                interval
>         --------------------
>           1500 days 08:09:10
>         (1 row)
>
>         If you want a particular format you should use the appropiate
>         formatting functions, like to_char
>
>         $ select to_char('1500 days 8 hours 9 minutes 10
>         seconds'::interval,'DDD HH-MI-SS');
>              to_char
>         ---------------
>           1500 08-09-10
>         (1 row)
>
>         Or, you could try to change the default formatting, but this is
>         generally incorrect.
>
>         Regards.
>             Francisco Olarte.
>
>
>
>


--
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: Ramesh T
Date:
Subject: Re: timestamp check
Next
From: Andy Colson
Date:
Subject: Re: Index Only Scan vs Cache