2011-11-21 52 views

回答

1

嘗試這樣:

SELECT CONVERT(VARCHAR(20), GETDATE(), 100) 

,將產生 「2011年11月21日下午1:29」。有關更多格式,請參見here

+0

我應該在表格中使用哪種數據類型? –

+0

「2005年1月1日」?你找到了一個非常古老的例子。 –

+0

@BhrugeshPatel它將是'varchar'。 – 2011-11-22 00:14:43

3

數據庫不存儲AM或PM ...它存儲特定的時間點。您如何通過視覺(通過24小時制或12小時制)來表示該時間點取決於您如何進行格式設置。

+0

好吧好吧..讓我絕對愚蠢,問... MS SQL中沒有數據類型可以存儲7:00:00 AM? –

+0

基於上面的評論,我假設你將它切換到一個varchar。我建議反對,因爲排序和搜索會慢很多。而且,varchar方法更容易出錯,並且會失去隨時間而來的所有花裏胡哨的聲音。 要回答你的問題:日期時間可以存儲那個時間...它存儲的時間,它只是不顯示,作爲時間。它可能會顯示19:00:00而不是(24小時制)。 這是一個網站,向您展示不同的格式化方法。 http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/ –

2

DATE_CREATED該列的類型的日期時間

這意味着它存儲爲二進制值是不可知約AM/PN和12/24小時的。所有這一切只發生在你要求字符串表示時。

因此,它可能只是您的應用程序或工具的配置。

+0

是啊..那就是爲什麼我很困惑...它的日期時間..我只是存儲它並通過SQL拉和它打印..不做任何特別的...但它總是打印AM –