Re: Retrieving a date from Oracle. Please help!
| From: | max | Date: | Fri, 24 May 2002 08:14:07 +0000 |
| Subject: | Re: Retrieving a date from Oracle. Please help! | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-19412@lists.php.net to get a copy of this message | ||
Thank you ALL!
It turned out that setting NLS_DATE_FORMAT environment variable is enough to
solve the problem. It's possible to get it worked right from PHP code, for
instance:
putenv("NLS_DATE_FORMAT=HH24:MI:SS DD.MM.YYYY");
PS>
TO_DATE function didn't help
I didn't try to ALTER SESSION or change Oracle ini params
Maxim
--------------------------------
Best regards,
Maxim Bubnov,
Software Engineer,
Stelt Telecom NN
----- Original Message -----
From: "Ford, Mike [LSS]" <M.Ford@lmu.ac.uk>
To: "'maxim'" <d17@softhome.net>; <php-db@lists.php.net>
Sent: Thursday, May 23, 2002 8:39 PM
Subject: RE: [PHP-DB] Retrieving a date from Oracle. Please help!
> > -----Original Message-----
> > From: maxim [mailto:d17@softhome.net]
> > Sent: 23 May 2002 17:00
> >
> > Hi all!
> > The problem is I can't get expected datetime value from
> > SELECT query on
> > Oracle table that has a field of type DATE. Seems like
> > datetime looses its
> > time part.
>
> The default format for dates returned from Oracle tends to be something
like 'DD-MON-YY', thus giving only a short-form date. There are several
ways of changing this:
>
> * Use the TO_DATE function in your select, e.g.
> $sql = "select TO_DATE(A_DATE, 'DD-Mon-YYYY HH24:MI:SS') as
DATE_TIME from A_TABLE"
>
> * Use ALTER SESSION to set the default format for the current session
(NOTE: I haven't tried this (yet!)):
> $stmt = OCIParse("ALTER SESSION SET NLS_DATE_FORMAT = 'DD-Mon-YYYY
HH24:MI'");
> OCIExecute($stmt);
>
> * Change the default value of the Oracle initialization parameter
NLS_DATE_FORMAT (I haven't tried this either, as I don't have administrative
control of my Oracle database!).
>
> Mike
>