UNIXZEIT

Die Unixzeit ist eine Zeitdefinition, die für das Betriebssystem Unix entwickelt und als POSIX-Standard festgelegt wurde. Die Unixzeit zählt die vergangenen Sekunden seit Donnerstag, dem 1. Januar 1970, 00:00 Uhr UTC. Das Startdatum wird auch als The Epoch (siehe Epoche) bezeichnen [Wikipedia]

Powershell und UNIXTIME

SQL und UNIXTIME

Unixtime 2 DateTime

Select
    dateadd(S, [unixtime], '1970-01-01')
From [Table]

DateTime 2 UnixTime

Select 
     (datediff(second,'1970-01-01 00:00:00.000',[TimeStamp])) 
From [Table]

Das funktioniert nur bei Unixtime in Second. Aber es existiert auch in milliseconds, microseconds und nanoseconds. Hierzu gibt es eine allgemein funktionstüchtige Funktion:

CREATE FUNCTION [dbo].[fn_tsConvert] (@ts bigint)
RETURNS DATETIME2(7)
AS BEGIN
    DECLARE @ts2 DATETIME2(7)

    -- MILLISECOND
    IF(LEN(@ts) = 13)
        SET @ts2 = DATEADD(HH,-4,DATEADD(MILLISECOND, @ts % 1000, DATEADD(SECOND, @ts / 1000, CAST('1970-01-01' as datetime2(7)))))

    -- MICROSECOND  
    IF(LEN(@ts) = 16)
        SET @ts2 = DATEADD(HH,-4,DATEADD(MICROSECOND, @ts % 1000000, DATEADD(SECOND, @ts / 1000000, CAST('1970-01-01' as datetime2(7)))))

    -- NANOSECOND   
    IF(LEN(@ts) = 19)
        SET @ts2 = DATEADD(HH,-4,DATEADD(NANOSECOND, @ts % 1000000000, DATEADD(SECOND, @ts / 1000000000, CAST('1970-01-01' as datetime2(7)))))

    RETURN @ts2

END

Quelle

siehe auch: Epoch & Unix Timestamp Conversion Tools