And*_*dre 53 excel sql-server-2008-r2
我在白天无数次将记录从SQL Server Management Studio复制并粘贴到Excel.
我的问题是,如下图所示,即使在功能框中正确显示DateTime,8/23/2013 4:51:02 PM也无法正确显示.

更改数据类型以ShortDate修复显示问题,但由于我有许多要格式化的日期字段,因此这样做很繁琐.由于Excel和SQL Server都是Microsoft产品,因此可以预期Excel将能够正确显示日期字段.
编辑:所以这似乎是Excel的显示问题.我将我的Management Studio结果复制到记事本,然后从那里复制到Excel中,我仍然遇到同样的问题.2013-08-23 16:52:11.493将从记事本复制到Excel将显示52:11.5(显示分钟,秒和舍入的毫秒).Excel版本是2010年.
有什么想简化这个吗?
小智 83
我也遇到了这个问题的问题,只需将DATETIME字段从SQL Management Studio复制并粘贴到Excel进行操作即可.Excel具有正确的DATETIME值(即使在粘贴后应用格式),但默认情况下没有内置格式来显示SQL DATETIME.这是修复:
右键单击单元格,然后选择"单元格格式".选择自定义.在Type:input字段中输入
yyyy-mm-dd hh:mm:ss.000
Run Code Online (Sandbox Code Playgroud)
参考:http://office.microsoft.com/en-us/excel-help/create-a-custom-number-format-HP010342372.aspx
小智 16
我和安德烈有同样的问题.似乎没有直接的解决方案,但只要您可以生活在SMALLDATETIME的限制范围内,生成数据的查询中的CAST就可以解决问题.在以下查询中,第一列未在Excel中正确格式化,第二列的格式不正确.
SELECT GETDATE(),CAST(GETDATE()AS SMALLDATETIME)
也许DATETIME和DATETIME2中秒的小数部分会混淆Excel.
找到了不需要记住并重新键入自定义日期时间格式的解决方案 yyyy-mm-dd hh:mm:ss.000
=NOW()或任何有效的日期和时间,例如5/30/2017 17:35:它将以您的语言正确显示,例如5/30/2017 5:35:00 PM这会将正确的日期时间格式复制到整个列,使其正确显示。
小智 5
这是一篇非常古老的文章,但是我最近遇到了这个问题,下面我通过格式化SQL来解决此问题,
SELECT CONVERT(varchar,getdate(),120)AS日期
如果从SQL Server复制结果并粘贴到Excel中,则Excel将保留正确的格式。