Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: NLS_DATE_FORMAT in jdbc
CM Wong <cmwong2_at_yahoo.com> wrote:
> I've seen many discussion on setting NLS_DATE_FORMAT. But when I tried
> to set NLS_DATE_FORMAT inside jdbc, it didn't seem to have any effect.
> Please see my codes below. Anyone has an idea?
>
[...]
> Statement stat=conn.createStatement();
>
> stat.execute("alter session set NLS_DATE_FORMAT='YYYY-DD-
> MM HH24:MI:SS'");
>
> ResultSet rs=stat.executeQuery("select trade_date from
> indx");
> while (rs.next())
> System.out.println(rs.getObject(1)); // *** new
> format not effective here ***
[...]
That's hardly surprising.
What you get with rs.getObject(1) is an instance of java.sql.Date, which
then is converted to a java.lang.String using its toString() method.
And java.sql.Date.toString() certainly won't depend on a previous ALTER SESSION SQL statement.
Try to use rs.getString(1) instead and see if it makes a difference!
I'm too lazy to try if that will work (probably not), but here's what will certainly work:
Change the SQL statement to
SELECT to_char(trade_date) FROM indx
because then Oracle and not Java converts the date to a string.
Yours,
Laurenz Albe
Received on Wed May 30 2007 - 01:54:39 CDT
![]() |
![]() |