Excel不会将mysql中的日期识别为日期

时间:2014-10-16 23:57:34

标签: mysql sql sql-server excel date

我有mysql数据库链接到SQL服务器。 在SQL服务器上,我使用DBCC TRACEON(8765)的过程来运行mysql查询。其中一列是Date_entered,以iso格式YYYY-MM-DD返回值。然后在Excel中我有数据连接来运行此过程。 问题是Excel中的Date_entered,即使它的格式为YYYY-MM-DD在Excel中无法识别为日期。结果是我无法将此字段分组到数据透视表中。 我甚至在mysql中尝试过DATE_FORMAT,但在Excel中仍然没有运气。

有人有想法吗? Thx Petr

4 个答案:

答案 0 :(得分:1)

听起来Excel将该值视为文本字符串。领先的空白区域可能导致excel无法识别日期。创建一个新列并使用trim()函数删除前导/尾随空格,他们尝试重新格式化日期。

或者你可以强制它并解析年,月和日的字符串。假设日期始终采用您指定的格式:YYYY-MM-DD,请尝试:

=DATE(LEFT(TRIM(A1),4),MID(TRIM(A1),6,2),RIGHT(TRIM(A1),2))

(假设您的日期在单元格a1中)

答案 1 :(得分:0)

您可以添加列并使用formula = value()并将其分配给Date_entered列

答案 2 :(得分:0)

下面的mysql查询可能会有所帮助:

SELECT date_format(str_to_date('2014-10-24','%Y-%m-%d'), '%m/%d/%Y') as FormattedDate;

答案 3 :(得分:0)

最终我通过将SQL Server上的过程修改为:

解决了我的问题
BEGIN
DBCC TRACEON(8765);
SELECT *,CAST(CAST(year(calldate) AS varchar) + '-' + CAST(month(calldate) AS    varchar) + '-' + CAST(day(calldate) AS varchar) AS DATETIME) as calldate2, datename(dw,calldate) as den

FROM OPENQUERY(SugarCRM, 'SELECT * FROM crm.acm_ivr' );
END;

代码的这一特定部分将mysql日期calldate“转换”为MS Excel calldate2可识别的日期:

CAST(CAST(year(calldate) AS varchar) + '-' + CAST(month(calldate) AS varchar) + '-' + CAST(day(calldate) AS varchar) AS DATETIME) as calldate2