我在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,但是这打破了我在该日期时间字段对表进行排序的意图。
我的方法中是否缺少某些东西?有什么建议吗?
欢呼声
答案 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所需的一样多。在应用程序的表示层中执行最终格式化。