2009-08-23 16 views
0

Dies ist meine erste Frage .... Nun, ich habe eine Antwort, aber ich bin immer noch fest. Kann jemand bitte erklären, wie kann ich dies in mysql erreichen:mysql Berechnung

Ich habe zwei Felder in mysql, 'cap_commdate' mit DATE TYPE und 'cap_policyterm' mit INT TYPE. Ich möchte ein anderes Feld mit dem Namen 'cap_maturityDate' haben, das automatisch die Policy-Bezeichnung pereod in Jahren berechnet (in der Laienzeit zB: cap_commdate*cap_policyterm). Was ist die richtige SQL-Abfrage zu verwenden; oder was ist der beste Ansatz? und ich will, es benutzen in meinem Re-Cord eine Bestätigungsseite zur Vorbereitung ... bitte eine einfache Erklärung ...

Ich habe versucht, die folgenden:

SELECT DATE_ADD(cap_commdate, INTERVAL cap_policyterm YEAR) ... 

ich die Abfrage lief und bekam Fehler; also habe ich es bearbeitet und benutzt:

SELECT 
DATE_ADD("cap_commdate", INTERVAL "cap_policyterm" YEAR) AS cap_maturity FROM capital 

Alles, was ich bekam, waren leere Felder. Bitte helfen sie aus.

+0

cap_commdate * cap_policyterm: sollte dies nicht sein cap_commdate + cap_policymasterm (scheint seltsam zu sein, diese Begriffe zu multiplizieren) – lexu

Antwort

2

Es klingt wie Sie wollen, dass diese:

SELECT DATE_ADD(cap_commdate, INTERVAL cap_policyterm YEAR) 
... 

Diese DATE_ADD Funktion die angegebene Anzahl von Jahren bis zum Beginn ergänzt, so dass der Fälligkeitstermins Herstellung - so wie Sie beschrieben haben.

0

Bitte zeigen Sie die Fehler, die Sie bekommen. Die Abfrage

SELECT DATE_ADD(cap_commdate, INTERVAL cap_policyterm YEAR) FROM capital 

sollte funktionieren.