2017-02-09 5 views
0

Ich habe ein Feld in meiner Datenbanktabelle namens Month, die ihre Werte als INT hält es hat die Werte 1 bis 12 - Ich möchte eine Möglichkeit, 1 zu konvertieren, um 1-11-2016 00 zu lesen: 00:00 dh als Datetime-Feld, 2 zum Lesen von 1-12-2016 00:00:00, 3 zum Lesen von 1-1-2017 00:00:00 - Wie kann ich einen Wert wie diesen konvertieren? Ich bin ok mit Fall zu tun zu wechseln, aber der Konvertit/cast mich ist verwirrend ...SQL Server Datum Zeit konvertieren

Antwort

0

Sie benötigen einen Startdatum (entweder durch Parameter oder in einem WAK) zu definieren, dann benutzen Sie einfach dateadd()

@StartDate = '2016-10-01 00:00:00' 

select dateadd(mm, t1.month, @StartDate) as NewMonth 
from MyTable t1 
+0

Brilliant! Funktioniert perfekt - danke für Ihre Hilfe. – SagarH

0

Eine andere Antwort ist

SELECT CONVERT(DATE, '2016-' + CAST(id AS VARCHAR(2)) + '-01') AS myDate 
FROM T1 

Aber y bevorzugen JohmHC Antwort !!