Как вернуть миллисекунды функции GetDate () T-SQL? - PullRequest
1 голос
/ 09 декабря 2010

У меня есть этот запрос:

UPDATE       Player
SET          move = GETDATE()

и он возвращает это:

09/12/2010 13:43:51

Но я хочу миллисекунды. Как я могу это сделать? Мой тип столбца перемещения - DateTime. Спасибо.

Ответы [ 5 ]

1 голос
/ 09 декабря 2010

Ну, я понятия не имею, почему, но решение таково:


SELECT        playerId, (SELECT        CONVERT(varchar(23), GETDATE(), 121) AS Expr1) AS Expr1
FROM            Player
1 голос
/ 09 декабря 2010

Если это DateTime, то он будет хранить дробную часть, но вам нужно будет отформатировать вывод, чтобы показать их.

1 голос
/ 09 декабря 2010

GETDATE() дает миллисекунды

Если перемещение не хранит миллисекунды, то оно:

  • это не дата и время
  • это один из SQLТипы Server 2008 с неверной точностью

Редактировать: если столбец имеет значение datetime, то, вероятно, клиентские инструменты не показывают миллисекунды

Что означает SELECT * FROM Player show в области запросов?Используете ли вы сетки SSMS: они используют ваши настройки клиента, которые будут терять миллисекунды

0 голосов
/ 09 декабря 2010

Edit & Snip: просто догадка, но если вы используете SQL 2000 Query Anaylyzer, настройка Tools-Options-Connections Использовать региональные настройки, когда отображение числа, даты и времени может быть полезным

0 голосов
/ 09 декабря 2010

Тип данных DateTime по умолчанию содержит информацию в миллисекундах

declare @myDate datetime;
Select @myDate=getdate();
Select @myDate;

выдаст

2010-12-09 21:03:28.243

Необходимо проверить запрос Select, который вы используете, чтобы получить вывод

09/12/2010 13:43:51

Кроме того, какую версию MS-SQL вы используете?

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