2010-12-09 162 views
1

我有這個疑問:如何返回T-SQL的GetDate()函數的毫秒數?

 
UPDATE  Player 
SET   move = GETDATE() 

,並返回此:

 
09/12/2010 13:43:51 

但我想毫秒。我怎樣才能做到這一點? 我的移動列類型是DateTime。 謝謝。

+0

什麼數據類型是'move`列?你用什麼查詢來獲得你的輸出? – 2010-12-09 16:58:47

+0

我上面已經說過的查詢。列類型是DateTime。我會更新這些信息。 – Seva 2010-12-09 17:00:28

+0

添加表格定義請 – gbn 2010-12-09 17:36:53

回答

1

嗯,我沒有ideia爲什麼,但解決辦法是這樣的:

 

SELECT  playerId, (SELECT  CONVERT(varchar(23), GETDATE(), 121) AS Expr1) AS Expr1 
FROM   Player 
1

GETDATE()確實給毫秒

如果此舉沒有那麼存儲毫秒它:

  • 它不是日期時間
  • 它的SQL Server 2008和一個類型不正確的精度

編輯:如果列是日期時間那麼它可能是客戶端工具不顯示毫秒

查詢窗格中的SELECT * FROM Player show是什麼?您是否使用SSMS網格:這些使用您的客戶端設置,這將失去毫秒

+0

我該如何更改客戶端工具? 選擇查詢返回我發佈的相同的東西。我測試了它。 – Seva 2010-12-09 17:14:56

0
默認

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?

1

如果它是一個DateTime,那麼它將存儲小數部分,但您需要格式化輸出以顯示它們。

0

編輯&剪斷:只是一種預感,但如果你使用的是SQL 2000查詢Anaylyzer設置工具 - 選項 - 連接使用區域設置時顯示號碼,日期和時間可能是有用的