In SQL Server 2008 R2 erhalten Sie eine Datumsangabe von Jahr, Tag des Jahres und Stunde

8

Ich habe eine Tabelle in einem Microsoft SQL Server 2008 R2, die von einer externen Quelle stammt. Die Spalten sind wie folgt: ID, Year, DAY, HOUR & Value , wobei DAY den Tag des Jahres (von 1 bis 366) und HOUR die Stunde des Tages (von 0 bis 23) enthält.

Ich möchte eine neue Datetime-Spalte erstellen und sie mit dem dateTime füllen, das aus den Daten in Year, DAY & HOUR columns erstellt wurde.

Welche SQL-Funktion sollte ich verwenden, um die DateTime aus ihren Teilen zu erstellen?

SQL Server 2012 hat DATETIMEFROMPARTS , aber für SQL Server 2008 R2

    
Devdatta Tengshe 30.04.2013, 11:19
quelle

4 Antworten

7
%Vor%     
Mikael Eriksson 30.04.2013, 11:32
quelle
4

Sie können stattdessen Folgendes verwenden:

%Vor%

Das gibt Ihnen Ihr Datum (obwohl es stimmt, dass SQL 2012 es endlich richtig macht!)

Verwenden Sie Folgendes, wenn Sie Jahr, Tag des Jahres und Stunde des Tages haben:

%Vor%     
KaraokeStu 30.04.2013 11:27
quelle
2

Ich habe das für mich selbst erfunden und dachte mir, es wäre ein guter Platz zum Teilen - es basiert auf der Probe von Mikael Eriksson.

%Vor%     
Lucero 08.10.2013 00:29
quelle
0

Hier ist eine alternative Lösung:

%Vor%

Das Konzept ist, die Stunden zu dem Datum hinzuzufügen, wobei das Jahr als (Jahr - 1900) * 12 als Monat verwendet wird, beginnend mit der Anzahl der Tage.

    
sgeddes 30.04.2013 11:37
quelle