Greetings all;
A question regarding setting NLS_DATE_FORMAT and getting DBI to obey it... With the code below, the statement fails to retrieve data although I know it is there. However, if I modify the SQL statement to the following: SELECT * FROM POSITIONS WHERE TO_CHAR(START,'DD-MM-YYYY') = ? The script works! Having the TO_CHAR negates the need for using the ALTER SESSION... Is this a bug? I'm using the following: Oracle8i (8.1.7) on Solaris 8/9 DBI 1.30 DBD::Oracle 1.12 Regards, Stacy Mader. use DBI; use Math::Trig; my($dbh) = DBI->connect($orac_sid,$table,$passwd,'Oracle', { RaiseError => 1, AutoCommit => 1, ChopBlanks => 1}); $dbh->do(q{ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MM-YYYY'}); $sth = $dbh->prepare(qq{SELECT * FROM $table WHERE START = ?}); $sth->execute('08-09-1999'); while( @row = $sth->fetchrow ) { print "@row\n"; } $dbh->disconnect();