Если мы предположим, что 1536346340276
на самом деле не переводится в 2014-12-31 15:17:24.736
, но что 13-значное число является просто примером данных, находящихся в настоящий момент в таблице, и что указанная дата является примером того, как формат ввода будетбыть, похоже, что на самом деле это может быть время Unix
SELECT DATEADD(second, 1536346340276/1000 ,'1970/1/1') -- is 2018-09-07 18:52:20.000
SELECT DATEDIFF_BIG(MILLISECOND,{d '1970-01-01'}, getdate()), GETDATE() -- is 1537195014053 at 2018-09-17 14:36:54.053
Если вы используете SQL Server 2016 или выше, новая вставка будет выглядеть так:
INSERT INTO Test (id, assignedDate)
VALUES (1, (SELECT DATEDIFF_BIG(MILLISECOND,{d '1970-01-01'}, getdate())))