Как я могу добавить ровно 1 миллисекунду? - PullRequest
5 голосов
/ 21 марта 2012
select getdate(),DATEADD(millisecond,1,getdate())

дает мне тот же ответ .... Как добавить ровно 1 миллисекунду?

Я не могу использовать поле datetime2.

Ответы [ 4 ]

9 голосов
/ 21 марта 2012

Вам нужно хранить миллисекунды отдельно, если вам нужна такая большая точность. В SQL Server 2005 нет собственного типа даты / времени, который позволял бы вам быть более точным, чем ~ 3 мс. Вот почему, например, последний раз, когда вы можете иметь в день 23: 59: 59,997, а не 0,998 или 0,999.

6 голосов
/ 21 марта 2012

Вы не можете. Точность datetime составляет 3,33 миллисекунды.

Дата и время

1 голос
/ 21 марта 2012

Разрешение типа DATETIME недостаточно для ваших нужд;согласно документации , это:

Округлено с шагом .000, .003 или .007 секунд

0 голосов
/ 21 марта 2012

Я думаю, что вы не можете, потому что DateTime s внутренне представлены как числа с плавающей запятой, а 1 миллисекунда не может быть представлена ​​как float.

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

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