2016-05-11 12 views
0

Ich habe Schwierigkeiten, das Datum zu erreichen, wenn Wert eingegeben wird. Also frage ich mich, ob mir jemand Ratschläge geben könnte. Dies ist, was ich getan habe ...Wie setze ich EndDate um 3 Monate

Declare 
@StartDate DateTime, 
@EndDate DateTime, 
@Discount Varchar 

If @Discount = 'Test123' 
Begin 
UPDATE tblName SET EndDate = case 
When StartDate > dateadd(month,-3,getdate()) 
End 

Also, was ich versuche zu tun, wenn Endbenutzer Test123 eingeben das System berechnen, dass die EndDate (zB 2016.11.08) sein würde, wenn die StartDate wäre (zum Beispiel 11/05/2016). Vor der Eingabe von Testing123 wurde das ursprüngliche EndDate bereits gespeichert, z. B. 10.10.2016.

Vielen Dank im Voraus für jede Hilfe gegeben.

bearbeiten

ich auch Suche fort und fanden folgenden Link

Here

+0

Nur um klarzustellen, möchten Sie das berechnete Datum 3 Monate vom Startdatum oder vom aktuellen Datum sein? – UberDoodles

+0

@UberDoodles - ja bitte. Unabhängig davon, was das ursprüngliche EndDate ist, wird die Berechnung vom StartDate durchgeführt, danke – DiscoDude

Antwort

1

Wenn ich Ihre Anforderungen richtig verstanden habe, ich glaube, Sie so etwas wie dieses benötigen.

Declare 
@StartDate DateTime, 
@EndDate DateTime, 
@Discount Varchar 

If @Discount = 'Test123' 
Begin 
UPDATE tblName 
SET EndDate = case 
    When StartDate > dateadd(month,-3,getdate()) 
    Then dateadd(month,3,StartDate) 
end 
End 
+0

Vielen Dank für Ihren Code. Ich kann das jetzt nicht versuchen, werde es morgen versuchen. – DiscoDude

Verwandte Themen