SQL Server日期时间数据类型不允许多种格式

时间:2009-05-20 20:43:15

标签: sql-server-2005 tsql datetime

我在SQL Server 2005中有一个表,它有一个日期时间字段。我想以mm/dd/yyyy hh:mm:ss格式保存日期时间值,但我猜SQL Server允许以yyyy-mm-dd HH:mm:ss.ll格式保存日期时间。

我可以将mm/dd/yyyy hh:mm:ss格式的日期时间值保存为varchar,但是这打破了我在该日期时间字段对表进行排序的意图。

我的方法中是否缺少某些东西?有什么建议吗?

欢呼声

4 个答案:

答案 0 :(得分:7)

日期时间类型将其存储在yyyy-mm-dd HH:mm:ss.ll中,正如您声明的那样。

Datetime列存储为8字节二进制数据。 yyyy-mm-dd HH:mm:ss.ll格式就是您在查询中返回的格式。要以其他格式显示,请查看CONVERT函数。

答案 1 :(得分:2)

您可以选择日期时间,如下所示:

convert(varchar, [datefield], style) 

允许您在获得日期时格式化日期。这使得存储时的格式变得微不足道。

以下是您可以使用的所有样式的list

答案 2 :(得分:0)

日期实际上并未以特定格式保存;它以默认格式或您选择的格式显示。

你在哪里看到日期?您的应用程序可能不会显示与SQL Server Management Studio相同的日期。

用户如何格式化日期以便保存它也是您的应用程序的问题(只要它向服务器发送有效日期。)。

答案 3 :(得分:0)

我必须承认我从未试图强制数据库保留任何特定的日期/时间格式。我想这不是必要的。

所以你有一个日期/时间字段,你可以按它对数据进行排序?这与DBMS所需的一样多。在应用程序的表示层中执行最终格式化。