Benutzer mit den meisten Antworten
Datum aus Timestamp generieren

Frage
-
Hallo,
ich habe eine SQL-Funktion, die mir jeweils den Timestamp des ersten und letzen Tages eines Monats ausgibt. Für August 2013 also z.B.b 1375315200 und 1377907200 (01.08.2013 00:00:00/31.08.2013 00:00:00).
Zu diesen Timestamps benötige ich zusätzlich noch das Datum in der Form "dd.mm.yyyy", für August 2013 als "01.08.2013" und "31.08.2013".
Gibt es dafür eine T-SQL-Funktion oder einen einfachen Workaround?
Antworten
-
Hallo Hannes,
wenn Du berechnen kannst, wie Du von einem Datum auf den Timestamp kommst, dann kannst Du doch auch berechnen, wie Du vom Timestamp aufs Datum kommst, und zwar mit der Funktion DATEADD
DATEADD(second,@DeinTimestamp, {d '1970-01-01'}) AS Datum
Und ein Datum kannst Du mit CONVERT in einen formatierten String umwandeln, z.B.
SELECT CONVERT(varchar(10), GetDate(), 104) AS DatumDEFormat
wobei 104 der Format-Parameter fürs DE Datumsformat ist; siehe Link oben.Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort markiert Hannes Schütte Freitag, 23. August 2013 12:34
Alle Antworten
-
Hallo Hannes,
mit SQL SERVER 2012 kannst Du auch EOMONTH nehmen.
SELECT DATEADD( d, 1, EOMONTH( DATEADD( m, -1, GETDATE() ) ) ) AS FirstDay, EOMONTH( GETDATE() ) AS LastDay
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo Hannes,
wenn Du berechnen kannst, wie Du von einem Datum auf den Timestamp kommst, dann kannst Du doch auch berechnen, wie Du vom Timestamp aufs Datum kommst, und zwar mit der Funktion DATEADD
DATEADD(second,@DeinTimestamp, {d '1970-01-01'}) AS Datum
Und ein Datum kannst Du mit CONVERT in einen formatierten String umwandeln, z.B.
SELECT CONVERT(varchar(10), GetDate(), 104) AS DatumDEFormat
wobei 104 der Format-Parameter fürs DE Datumsformat ist; siehe Link oben.Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort markiert Hannes Schütte Freitag, 23. August 2013 12:34