Thanks for the clarification.

The problem is still this:
select date('20191001') - date('20190101') ;
in my servers it is always '273'.
In the customer's DB it is '273 days';

Thanks

Danny

-----Original Message-----
From: Andrew Gierth <and...@tao11.riddles.org.uk> 
Sent: Saturday, October 12, 2019 7:53 PM
To: Abraham, Danny <danny_abra...@bmc.com>
Cc: Adrian Klaver <adrian.kla...@aklaver.com>; pgsql-gene...@postgresql.org
Subject: [EXTERNAL] Re: day interval

>>>>> "Abraham" == Abraham, Danny <danny_abra...@bmc.com> writes:

 Abraham> The problematic code is:
 Abraham> select date(cm_curr_date) - date(CM_DATE) into diff_days from 
CMS_SYSPRM;

This will always return an integer, unless either the date() cast or the
-(date,date) operator have been redefined or modified.

 Abraham> The fix is:
 Abraham> select date_part ('day', age( date(cm_curr_date), date(CM_DATE))) 
into diff_days from CMS_SYSPRM;

This doesn't do the same thing, it will give a different result if the dates 
differ by a month or more.

 Abraham> The problem:
 Abraham> How to recreate the problem.  (You know - QA).

 Abraham> Tried changing lc_time, timezone and datestyle .. but nothing  
Abraham> seems to work

None of these things can affect data types.

--
Andrew (irc:RhodiumToad)


Reply via email to