Re: day interval - Mailing list pgsql-general

From Adrian Klaver
Subject Re: day interval
Date
Msg-id 565bf6dd-c7e5-8dfb-22ec-9f571a4bbf6b@aklaver.com
Whole thread Raw
In response to RE: Re: day interval  ("Abraham, Danny" <danny_abraham@bmc.com>)
List pgsql-general
On 10/12/19 9:34 AM, Abraham, Danny wrote:
> The problematic code is:
> select date(cm_curr_date) - date(CM_DATE) into diff_days from CMS_SYSPRM;
> 
> 
> The fix is:
> select date_part ('day', age( date(cm_curr_date), date(CM_DATE))) into diff_days from CMS_SYSPRM;
> 
> The problem:
> How to recreate the problem.  (You know - QA).

Upstream you said:

"This has been working for years on all PG community servers.

This happens on an EDB PG 9.6.3."

Which version of the EDB Postgres database are you using e.g. their 
install of the community version or their modified(Advanced?) version?

When I search on CMS_SYSPRM it comes related to bmc.com, is that in the 
mix also?


> 
> Tried changing lc_time, timezone and datestyle .. but nothing seems to work
> 
> Thanks
> 
> Danny
> 
> -----Original Message-----
> From: Adrian Klaver <adrian.klaver@aklaver.com>
> Sent: Saturday, October 12, 2019 7:27 PM
> To: Abraham, Danny <danny_abraham@bmc.com>; Andrew Gierth <andrew@tao11.riddles.org.uk>
> Cc: pgsql-general@postgresql.org
> Subject: [EXTERNAL] Re: day interval
> 
> On 10/12/19 8:37 AM, Abraham, Danny wrote:
>> Thanks Andrew.
>>
>> My code fails since the expression (In a PG/PG SQL function) which
>> assumes integer result Now produces the string '8 day';
> 
> The code is?
> 
>>
>> This has been working for years on all PG community servers.
>>
>> This happens on an EDB PG 9.6.3.
>>
>> I know the fix, but I need the ability to create the bug in my server, and I do not know how.
>>
>> Thanks
>>
>> Danny
>>
>>
>> -----Original Message-----
>> From: Andrew Gierth <andrew@tao11.riddles.org.uk>
>> Sent: Saturday, October 12, 2019 6:26 PM
>> To: Abraham, Danny <danny_abraham@bmc.com>
>> Cc: pgsql-general@postgresql.org
>> Subject: [EXTERNAL] Re: day interval
>>
>>>>>>> "Abraham" == Abraham, Danny <danny_abraham@bmc.com> writes:
>>
>>    Abraham> Hi
>>    Abraham> A question on day interval
>>
>>    Abraham> select date('20191001') - date('20190923');
>>
>>    Abraham> Will provide sometimes '8' - an integer , but sometimes '8
>> Abraham> day' - a string
>>
>> No, it'll always return an integer. You will only get an interval result if you subtract timestamps rather than
dates,for example if one of the operands is actually an expression returning a timestamp.
 
>>
>> Give an example of an actual expression you used that returned an interval instead, and we may be able to tell you
howto fix it.
 
>>
>> --
>> Andrew (irc:RhodiumToad)
>>
>>
>>
> 
> 
> --
> Adrian Klaver
> adrian.klaver@aklaver.com
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com



pgsql-general by date:

Previous
From: "Abraham, Danny"
Date:
Subject: RE: Re: day interval
Next
From: Andrew Gierth
Date:
Subject: Re: day interval