Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SQL Select with DateTime and Int
Message
From
14/06/2019 10:14:00
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
01669054
Message ID:
01669083
Views:
56
Likes (1)
>>Hi,
>>
>>I wonder what I am doing wrong in this case. Here is the SQL Select (simplified):
>>
>>*-- The fields in SQL Server table:
>>*-- PurchDate - Datetime
>>*-- Years - Integer (from 1 to 100)
>>dToday = date()
>>cWhereExpr = "'" + DTOS( cToday ) "' >= (PurchDate + Years) "
>>select * from MyTable where cWhereExpr
>>
>>
>>Example: PurchDate is 2018-01-05 and Years is 10. But the record is included in the resulting query.
>>Shouldn't the PurchDate + Years being much higher than the current date?
>>
>>UPDATE: I think my problem is that I have to convert Years into years since SQL Server sees it as Days. But how? Should I multiply the Years by 365? Or there is a better way to convert the int number into years?
>
>So, the suggestion given by Borislav works very well (below) for SQL Server database)
>
>dToday = date()
>cWhereExpr = ['] + DTOS( cToday ) [' >=DATEADD(year, Years, PurchDate) ]
>select * from MyTable where cWhereExpr
>
>
>How would I change the above for VFP database? Does VFP have function similar to the SQL Server's DATEADD()?
>
>TIA

Dmitry,

You can GOMONTH(somedate, 12 * number of years) to get years advance (or step back).
----------------------------------
António Tavares Lopes
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform