Double quotes do not work as literal identifiers in MS SQL Server, so adding support for the single quote would be very helpful.
Please let me know if you need anything or need to run some tests. Out of curiosity, is this a DBI or DBD::ODBC issue? Thanks Dale >From: "Jeff Urlwin" <[EMAIL PROTECTED]> >To: "Dale Couch" <[EMAIL PROTECTED]>, <[EMAIL PROTECTED]> >CC: <[EMAIL PROTECTED]> >Subject: RE: :ODBC, Datetime strings and placeholders >Date: Mon, 28 Jan 2002 15:13:44 -0500 > >Dale, > >There was a discussion and patch on this a while ago. Honestly, I don't >remember the specifics but it was determined that a literal should be >surrounded by " instead of ', but this, I can see, is definitely a >problem... > >I, unfortunately, don't remember why we did this...and I can't seem to find >the discussion. I can, I think, change it to allow for either: > "abd" > or > 'abd' > or > ' this "is a test" ' > or > " 'this is a test' " >(i.e. if you start with a " then it must finish on a " and if you start >with >a ' you must finish with a ') > >Thoughts/comments? > >Jeff > > > -----Original Message----- > > From: Dale Couch [mailto:[EMAIL PROTECTED]] > > Sent: Monday, January 28, 2002 8:37 AM > > To: [EMAIL PROTECTED] > > Cc: [EMAIL PROTECTED] > > Subject: DBD::ODBC, Datetime strings and placeholders > > > > > > I am having problems with the latest DBD::ODBC v0.32 or possibly > > DBI 1.201. > > > > If I try to use a string datetime value as demonstrated below, something > > seems to get confused about place holders and dates. The errors are > > different based upon where you put the string datetime value. > > > > A DBI trace of the code below shows that the SQL statement gets >converted > > from > > > > SELECT DATEDIFF(s,'1970-01-01 00:00:00.001',GETDATE()) 'seconds_since' > > > > to the following > > > > SELECT DATEDIFF(s,'1970-01-01 00??.001',GETDATE()) 'seconds_since' > > > > I am not sure where to attempt to make a patch, suggested >locations/fixes > > would be appreciated. > > > > Standard version stuff: > > perl: v5.6.1 built for MSWin32-x86-multi-thread (ActiveState v631) > > DBI: 1.201 > > DBD::ODBC: 0.32 > > > > Sample Code (fill in your DB and user info as needed to test, no > > specific DB > > required, Syntax is valid on MS SQL 2000 server): > > > > #!perl -w > > use strict; > > use DBI; > > use DBD::ODBC; > > > > my $sServerName = ""; > > my $sDBName = ""; > > my $sUserName = ""; > > my $sPassword = ""; > > > > my $oConnection = DBI->connect("dbi:ODBC:driver={SQL > > Server};Server=$sServerName;database=$sDBName;uid=$sUserName;pwd=$ > > sPassword;"); > > $oConnection->{PrintError} = 1; > > > > my $qQuery = $oConnection->prepare(q{SELECT DATEDIFF(s,'1970-01-01 > > 00:00:00.001',GETDATE()) 'seconds_since'}); > > $qQuery->execute(); > > my $aRow = $qQuery->fetchrow_arrayref(); > > if ($aRow) { > > print $aRow->[0]; > > } else { > > print "No Results"; > > } > > $qQuery->finish(); > > $oConnection->disconnect(); > > > > Thanks > > > > Dale > > > > _________________________________________________________________ > > Send and receive Hotmail on your mobile device: http://mobile.msn.com > > > > > _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.
