[Zope-DB] Question on ZSQL and Dates
M.-A. Lemburg
mal@lemburg.com
Wed, 23 Oct 2002 20:22:06 +0200
Charlie Clark wrote:
> On 2002-10-23 at 16:16:32 [+0000], you wrote:
>
>>In my experience, it's best to leave date handling up to database whenever
>>possible.
>>
>>select * from person where
>>(sysdate - person.birthdate) > (45*365.25);
>>
>>Hopefully someone will have a better solution for you.
>
> sysdate doesn't seem to be available. I assume this is some DB-specific
> variable?
Yes. sysdate is Oracle's way of saying "give me the current time
in your own format". Which database backend are you (currently ;-)
using ?
Also, what's the error message you get from Zope when you
try your solution ?
One possibility is that the database expects a specific date
format and that Zope's DateTime objects don't use this per
default.
> You seem to be implying that the DateTime object's basic unit is days but I
> think it's seconds. It might even be milliseconds... This would explain
> some of the results I'm getting by trial and error.
>
> I've read somewhere that installing mxDateTime makes life a lot easier and
> I can believe it but I haven't yet worked out how to get Zope to use
> mxDateTime instead of DateTime. Stephan Richter's modules don't work on
> Zope 2.5.1
It's easy to install egenix-mx-base in Zope.
On Windows just download the .exe installer file and open
it with WinZIP. Then extract the file to <zopedir>\lib\python\.
On Linux, first build from source:
python setup.py bdist_zope
and then unzip the generated archive
dist/egenix-mx-base-2.0.4.linux-i686.zip in <zopedir>.
--
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting: http://www.egenix.com/
Python Software: http://www.egenix.com/files/python/