我有一个在 Windows 2003 机器上运行的 SQL Server 数据库 (2008R2)。我正在使用另一个 Win2003 盒子连接到它。
当我从数据库中选择一个日期时间值时,我会以这种格式取回它:
2014 年 11 月 5 日下午 12:07:46
但是,当我使用不同的系统(Win2008 连接到 2008R2 数据库)时,我以更期望的格式取回它:
2014-11-02 10:53:00
在这两种情况下,我都通过 Microsoft OLE DB 驱动程序直接从数据库表中提取值。SELECT 语句不会以任何方式转换这些值。这是从一些 C++ 代码中提取并记录到文件中的。当我使用 SSMS 连接时,值始终采用更符合预期的格式(无 AM/PM)。
我的问题:
为什么我从同一版本的 SQL Server 获得两种不同的格式?这是某处的 OLE DB 驱动程序设置吗?
您的区域设置控制日期的显示方式。尝试在那里更改设置。