Ersetzen Jahr in datetime-Datum
Ich habe eine Tabelle mit einer Spalte (dateDT
), formatiert als datetime und eine variable Eingabe für das Jahr (@selYear
) in meine Wählen Sie, formatiert als int.
Wie kann ich ersetzen Sie das Jahr in einem date aus meiner Tabelle mit der variable Eingabe und gibt das Ergebnis im datetime-format (innerhalb einer Select) ?
Ich habe Folgendes versucht, aber das gibt falsche Daten zurück, /Jahre:
CONVERT(DATETIME, (@selYear + MONTH(dateDT) + DAY(dateDT))) AS dateDT,
Beispiel:
@selYear = 2014
dateDT = 2010-05-02 00:00:00.000
In diesem Fall mein Ergebnis sollte sein:
dateDT = 2014-05-02 00:00:00.000
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer Lösung mit DATEADD Funktion:
Dies ist zum Beispiel mit kleineren aktuellen Jahr:
INT
auch, und ja, Sie könnenDATEADD
- Funktion mit negativen Werten für den zweiten Parameter.Können Sie DATEFROMPARTS in sqlserver 2012