I'm talking of 125 days of course, but this is not relevant here cause the "problem" is not in the data type, it is in the equation doing the comparison. Incidentally we are talking about a time here, but will be the same using any type of data that can be converted to a number, and that you can sum later to other number.
if: (X + 5) < (Y + 4)
then: X + 1 < Y
And all of this leads us to this more compact and probably more desirable form of the query:
=code
my $sql = $dbh->exec_select("SELECT acc,name,date FROM mytable WHERE
name != ''
AND CURDATE() BETWEEN date + 125 DAYS and date + 365 DAYS
AND date BETWEEN '2010-11-11' and '2011-11-11'
AND controlnum IN ('00988777','009999','12345','77766','88776','998888
+','2222333','2223999','8877788','9988877','9988888','9998877','999888
+8','9999888','11220000','11223756','22339668','22388577','23334455','
+77665555','88877777','112223333','222339000','223445988','223475699',
+'666555555','887777654','88777766666','888777666666')
order by date desc");
=cut
|