Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SQL Select with DateTime and Int
Message
De
14/06/2019 10:14:00
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
01669054
Message ID:
01669083
Vues:
57
J'aime (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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform