2011-11-21 54 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 –