Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SQL Select with DateTime and Int
Message
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
01669054
Message ID:
01669082
Views:
68
>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
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform