#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 ~ миллисекунд), а adatetime2
может составлять до 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.