Einzelnen Beitrag anzeigen

robroy85

Registriert seit: 6. Nov 2004
Ort: Norderstedt
42 Beiträge
 
#13

Re: SQL/Systemzeit per Stored Procedure auslesen

  Alt 19. Okt 2005, 21:46
Ich habe nun eine recht simple UNIX_timestam-stored procedure erstellt. Mit dem Ergebnis von CONVERT(FLOAT, @utc) * 86400 konnte ich leider nichts anfangen. die SP erzeugt nun das gleiche Ergebnis wie die delphi-funktion IntToStr(DateTimeToUnix(Now))
SQL-Code:
CREATE PROCEDURE sp_timestamp

AS
  DECLARE @jahr int
  DECLARE @sec int
  SELECT @jahr = 1970
  SELECT @sec = 0

WHILE (CONVERT (int, DATEPART (yyyy, getdate())) > @jahr)
BEGIN
   if ( @jahr % 4 ) = 0 AND (@jahr % 100)<>0 OR (@jahr % 1000) = 0
      SELECT @sec = @sec + 366*24*60*60
   ELSE SELECT @sec = @sec + 365*24*60*60
      SELECT @jahr = @jahr +1
END

SELECT @sec = @sec + (CONVERT (int, DATEPART (dy, getdate()))-1)*24*60*60
SELECT @sec = @sec + CONVERT (int, DATEPART (hh, getdate()))*60*60
SELECT @sec = @sec + CONVERT (int, DATEPART (mi, getdate()))*60
SELECT @sec = @sec + CONVERT (int, DATEPART (ss, getdate()))

PRINT @sec
PRINT 'Sekunden sind vergangen seit dem 01.01.1970 00:00:00
SELECT getdate()
ERGEBNIS:
1129761963
Sekunden sind vergangen seit dem 01.01.1970 00:00:00

---------------------------
2005-10-19 22:46:03.187

(1 row(s) affected)

Jetzt muss nur noch das ganze in eine HEX-zahl umgewandelt werden. Gibt es dafür wirklich keine T-SQL Funktion ?

Schönen Gruß

Robert
  Mit Zitat antworten Zitat