Вставка миллисекунд из MS-Sql server в запрос

#sql #sql-server #timestamp

#sql #sql-server #временная метка

Вопрос:

Мне интересно узнать, есть ли способ вставить миллисекунды с сервера MS-Sql в таблицу.

Я знаю, что это возможно с MySQL, но я не смог найти способ сделать это с помощью MS-Sql.

Я, конечно, могу прочитать миллисекунды со своего компьютера и добавить их в свой запрос, чтобы записать их в свою таблицу, но я бы хотел, чтобы MS Sql server напрямую заполнял столбец «TimeStamp» своим временем в миллисекундах. Есть идеи? Спасибо!

Комментарии:

1. Что такое «миллисекунды»?

2. @Larnu * миллисекунды 😉

3. A datetime с точностью до 1/300 секунды (3,3333 ~ миллисекунд), а a datetime2 может составлять до 100 наносекунд; так что да, вы можете очень легко хранить миллисекунды.

4. Кроме того, timestamp это не значение даты и времени в SQL Server. timestamp является синонимом rowversion , который является binary значением, а не значением даты и времени.

5. @Larnu но что я должен использовать для вставки datetime миллисекунд, если эта дата является датой с сервера? В идеале я не должен указывать в своем запросе какое-либо значение datetime или datetime2

Ответ №1:

 SELECT DATEPART( MILLISECOND , GETDATE()) 
  

Комментарии:

1. как бы вы поступили с INSERT ? возвращает ли GETDATE() возврат milliseconds ?

2. да, это так, и DATEPART возвращает миллисекунду, и вы можете сохранить ее в столбце int в любом месте

3. GETDATE является datetime @p.j.smith.