Holen Sie sich einen datetime-von Jahr, Tag des Jahres und die Stunde, in SQL Server 2008 R2
Ich habe eine Tabelle in einer Microsoft SQL Server 2008 R2, die kamen aus einer externen Quelle. Die Spalten sind wie folgt: ID, Year, DAY, HOUR & Value
, wo DAY
enthält den Tag des Jahres (1 bis 366) und HOUR
stellt die Stunde des Tages (0 bis 23).
Möchte ich zum erstellen eines neuen datetime-Spalte und füllen Sie es mit dem dateTime-erstellt aus den Daten in Year, DAY & HOUR
Spalten.
Welche SQL-Funktion sollte ich verwenden, um erstellen Sie die DateTime
von seinen teilen?
SQL Server 2012 hat DATETIMEFROMPARTS
, aber es gibt keine äquivalente Funktion für SQL Server 2008 R2
- Check out: stackoverflow.com/questions/207190/...
- Verwandte: stackoverflow.com/a/267016/327074
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie den folgenden statt:
Geben Sie Ihrem date (wenn es wahr ist, dass SQL 2012 bekommt es Recht, endlich!)
Verwenden Sie es, wenn Sie Jahr, Tag des Jahres und der Stunde des Tages, verwenden Sie die folgende:
Erstellt, dass für mich und dachte, es wäre ein guter Ort, um zu teilen - es basiert auf dem Beispiel von Mikael Eriksson.
Hier eine alternative Lösung:
Konzept ist das hinzufügen von Stunden zu dem Datum, mit dem Jahr (Jahr - 1900) * 12 des Monats, beginnend mit der Zahl der Tage.