2009-05-20 104 views
3

我有一個表在SQL Server 2005具有日期時間字段。我想將日期時間值保存爲mm/dd/yyyy hh:mm:ss格式,但我猜SQL Server允許日期時間格式爲yyyy-mm-dd HH:mm:ss.ll格式。SQL Server日期時間數據類型不允許多種格式

我可以將mm/dd/yyyy hh:mm:ss格式的日期時間值保存爲一個varchar,但是這打亂了我在該日期時間字段上排序表的意圖。

有什麼在我的做法缺少什麼?有什麼建議麼?

歡呼

回答

7

日期時間類型確實是而不是按照您的聲明將它存儲在yyyy-mm-dd HH:mm:ss.ll中。

日期時間列存儲爲8字節二進制數據。 yyyy-mm-dd HH:mm:ss.ll格式就是它在查詢中的返回方式。要以其他格式顯示,請查看CONVERT函數。

+0

我以爲他們是雙精度浮點數,一般是32位。但它一直以來我看看... – 2009-05-20 20:58:49

2

當您選擇它像這樣你可以樣式的日期時間:

convert(varchar, [datefield], style) 

,它允許你當你得到它格式化日期。這使得存儲它時的格式變得微不足道。

這裏是所有你能使用的樣式的list

0

日期未實際保存在一個特定的格式;它以默認格式或您選擇的格式顯示。

你在哪裏「看到」的日期?您的應用程序可能不會顯示與SQL Server Management Studio相同的日期。

用戶如何格式化日期,以便它可以保存爲您的應用程序也是一個問題(只要發送一個有效日期到服務器)。

0

我必須承認,我從來沒有試圖迫使數據庫保持任何特定的日期/時間格式。我想這不是真的有必要。

所以,你有一個日期/時間字段,你可以通過它的數據進行排序?這與您從DBMS需要的一樣多。在應用程序的表示層中執行最終的格式。

相關問題