in reply to Re: SQL query using elements from array
in thread SQL query using elements from array

Hi

you've a little Copy&Paste bug in your code. After pointing out that placeholder variables are the better solution (++) you missed changing the timestamp variables to strings without single quotation mark which is only necessary when you do string interpolation while generating valid SQL statements:

my @date1 = ('2013-08-01 00:00:00.000','2013-08-02 00:00:00.000');

I would go one step further for clarification of the intention of the code. Why not doing the following to emphasis on the fact that the author wants to interate over several time intervals:

my @intervals = ( ['2013-08-01 00:00:00.000', '2013-08-02 00:00:00.000'], ['2013-08-02 00:00:00.000', '2013-08-03 00:00:00.000'], ); ... foreach my $interval (@intervals) { $sth->execute(@$interval); ... }

And as soon as you look at the intervals and at the SQL statement you see that AllPaoTeam made a litte mistake concerning interval boundaries IMHO. Make one end of the interval inclusive the other end exclusive:

WHERE master.dbo.fn_sqlvarbasetostr(AuditChrt_TimeStamp) >= ? AND master.dbo.fn_sqlvarbasetostr(AuditChrt_TimeStamp) < ?

otherwise you would count entries on 2013-08-02 00:00:00.000 twice (except for being intended).

Regards
McA

Replies are listed 'Best First'.
Re^3: SQL query using elements from array
by AllPaoTeam (Sexton) on Oct 06, 2014 at 18:11 UTC
    True, I did make that error, nice catch! Thanks to everyone with help me with this, Kudos to all!!