# unix-timestamp in millisekunden mit t-sql?



## ruutaiokwu (12. Jun 2014)

hallo zusammen

unix-timestamp in millisekunden (seit 1970) mit t-sql, weiss jemand wie das geht?

danke für die feedbacks!


----------



## VfL_Freak (13. Jun 2014)

Moin,

schon mal danach gegoogled ???:L

Convert unix epoch timestamp to TSQL timestamp - Stack Overflow
tsql - UNIX timestamp on MySQL and MSSQL Server - Stack Overflow
(Quelle: https://www.google.de/#q=t-sql+unix+timestamp+millisekunden)

Gruß
Klaus


----------



## ruutaiokwu (13. Jun 2014)

vielen dank, mal schauen!


----------



## ruutaiokwu (16. Jun 2014)

nochmals danke für dein feedback...

...ich habe das jetzt nochmal versucht, dabei wusste ich ja dass ich bereits vorher selbst gegoogelt habe und nix dabei gefunden habe. ;-)

der vorschlag unter Convert unix epoch timestamp to TSQL timestamp - Stack Overflow, also folgendes



```
declare @unixTS bigint
set @unixTS = 1359016610667


select dateadd(ms, @unixTS%(3600*24*1000), 
    dateadd(day, @unixTS/(3600*24*1000), '1970-01-01 00:00:00.0')
)
```



...das gibt leider nicht das aus, wonach ich suche:

(No column name)
2013-01-24 08:36:50.667



auch hier wird meine frage leider nicht geklärt: tsql - UNIX timestamp on MySQL and MSSQL Server - Stack Overflow


es geht darum, die anzahl MILLISEKUNDEN SEIT ANFANG 1970 bis zum AKTUELLEN DATUM / DER AKTUELLEN ZEIT zu holen, also das gleiche was unter java der die funktion *"System.currentTimeMillis()"* macht.... andernfalls muss ich halt ne java-klasse schreiben welche den unix-timestamp so holt, diese anschliessend mit "IKVM.NET" in .NET verfügbar machen und eine sql-server-udf-funktion aus dem ganzen "basteln"... ist aber eher "suboptimal"... na ja...;-)

sowas die im andern link vorgeschlagen gehe leider auch nicht: 


```
SELECT DATEDIFF(ms,'1970-01-01', getdate())
```

das gibt das aus: "Msg 535, Level 16, State 0, Line 1
The datediff function resulted in an overflow. The number of dateparts separating two date/time instances is too large. Try to use datediff with a less precise datepart."


----------



## ruutaiokwu (16. Jun 2014)

auch was hier steht geht leider auch nicht: Current Millis - convert millis to date and time, live UTC time


```
DATEDIFF(ms, '1970-01-01 00:00:00', GETUTCDATE())
```


folgende meldung erscheint dabei:

The datediff function resulted in an overflow. The number of dateparts separating two date/time instances is too large. Try to use datediff with a less precise datepart.



und es scheint keine rolle zu spielen, ob man nun 'ms' oder 'millisecond' verwendet...


----------



## ruutaiokwu (17. Jan 2018)

Weiss niemand was zum Thema?


----------

