>>>ldDate = DATE() >>>=SQLEXEC(lnHandle,"SELECT * FROM myTable WHERE dtField = ?ldDate")>>>This produces no records, which is expected since I'm not accounting for the time portion of the field. But when I tried
>>>=SQLEXEC(lnHandle,"SELECT * FROM myTable WHERE DATE(dtField) = ?ldDate")>>>I also got no records back. When I tried
>>>ldDate = DATE() >>>lcDate = TRANSFORM(DTOS(ldDate),"@R 9999-99-99") >>>=SQLEXEC(lnHandle,"SELECT * FROM myTable WHERE DATE(dtField) = ?lcDate")>>>I got the records I wanted.
>>ldStartDate = Date() >>ldEndDate = date() + 1 >> >>=SQLEXEC(lnHandle,"SELECT * FROM myTable WHERE dtField >= ?ldStartDate and dtField < ?ldEndDate")>
>ldDate = DATE() >SQLEXEC(lnHandle,"SELECT * FROM myTable WHERE DATE(dtField) = CAST(?ldDate as date)")>also works. I don't know which is the fastest expression (and don't think the difference would be at all significant) but I think this is the most clear, but that's a subjective opinion.