Как преобразовать дату и время в число на сервере SQL - PullRequest
0 голосов
/ 19 июня 2019

Каков эквивалентный синтаксис sql для этого кода JavaScript:

let date = new Date();
alert(+date);

пример даты = "Пн 12 января 2015 12:15:00 GMT + 0800"

var dat = new Date("Mon Jan 12 2015 12:15:00 GMT+0800")
console.log(+dat);

Я имею в виду решение в SQL здесь.

Ответы [ 4 ]

0 голосов
/ 19 июня 2019

Пожалуйста, попробуйте с кодом ниже.

SELECT CAST(DATEDIFF(s,'1970-01-01', GETUTCDATE()) AS BIGINT)*1000
0 голосов
/ 19 июня 2019

Используйте функцию GETDATE () в SQL-Server, чтобы получить текущую дату.

DECLARE @CurrentDate = GETDATE()

PRINT @CurrentDate 
0 голосов
/ 19 июня 2019

Вы ищете:

SELECT DATEDIFF(SECOND, '1970-01-01', getdate())

Это дает количество секунд между текущим временем и началом эпохи Linux, 1-jan-1970 00:00.

Чтобы разбить его:

SELECT             -- duh
DATEDIFF           -- Datediff calculates the number of time-units between time A and time B
  (SECOND          -- What type of time unit? Can be month, day, hour or here: Second
  , '1970-01-01'   -- Time A
  , getdate()      -- Time B, SQL's built-in current date function
)

Обратите внимание, что это уменьшает миллисекунды, но мы можем добавить их обратно, просто отключив мельницу от текущего времени:

select concat(datediff(SECOND, '1970-01-01', getdate()), datepart(millisecond, getdate()))
0 голосов
/ 19 июня 2019

Попробуйте

DECLARE @newDate datetime = GetDate()
PRINT CONVERT(varchar(20), @newDate, 103)

Параметр 103 определяет формат. Полная документация для CONVERT и ее параметров здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...