【问题标题】:Excel ODBC Import from MySQL从 MySQL 导入 Excel ODBC
【发布时间】:2011-07-29 13:16:11
【问题描述】:

我有一个使用 MSQuery 从 ODBC 设置导入的 excel,我想要的所有数据和行都可以正常返回,但是当我将数据发送到我的 excel 工作簿时,我缺少 3 个字段日、月和年有人可以帮忙吗找出原因?

SELECT  contract_0.create_date AS 'Submitted Date', 
        -- abbreviating
        contract_0.install_date AS 'installed_US', 
        RIGHT(contract_0.install_date,2) AS 'day', 
        MID(contract_0.install_date,6,2) AS 'month',
        LEFT(contract_0.install_date,4) As 'year'
            -- abbreviating
FROM `web54-reiga-gms`.contact contact_0, `web54-reiga-gms`.contract contract_0, `web54-reiga-gms`.user user_0
WHERE contract_0.contact_id = contact_0.id AND contract_0.user_id = user_0.id

上面是我的 MSQuery 代码

*编辑 **

我在 Windows 7 和 MySQL ODBC 3.5 上使用 Excel 2010

更新 **

CREATE TABLE `contract` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `installer` varchar(50) DEFAULT NULL,
  `fitter` varchar(50) DEFAULT NULL,
  `guarantee_no` varchar(50) DEFAULT NULL,
  `contact_id` int(11) DEFAULT NULL,
  `equipment` varchar(32) DEFAULT NULL,
  `certificate_no` varchar(50) DEFAULT NULL,
  `install_date` date DEFAULT '0000-00-00',
  `create_date` date DEFAULT '0000-00-00',
  `edit_date` date DEFAULT '0000-00-00',
  `edited_by` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

【问题讨论】:

  • 我简化了您的疑难解答查询。您可以通过删除除contract_0 之外的所有表来进一步简化它,因为它们在这个问题中并不重要。

标签: mysql excel odbc ms-query


【解决方案1】:

您将install_date 字段视为字符串。它可能是一个DateDateTime 字段,要获取单独的年、月和日值,您应该使用extract function

好的。正如我所怀疑的那样,您正在处理一个日期。替换这些行:

    RIGHT(contract_0.install_date,2) AS 'day', 
    MID(contract_0.install_date,6,2) AS 'month',
    LEFT(contract_0.install_date,4) As 'year',

这些:

EXTRACT(YEAR FROM contract_0.install_date) AS 'day', 
EXTRACT(MONTH FROM contract_0.install_date) AS 'month',
EXTRACT(DAY FROM contract_0.install_date) As 'year',

【讨论】:

  • 我可以通过电子邮件向您发送我的服务器详细信息,以便您查看吗?
  • @Justin:请不要那样做。这不是 SO 应该如何工作的。您可以为表生成 CREATE 脚本,更改任何会暴露敏感信息的内容并将其添加到您的帖子中吗?
  • 谢谢在 MsQuery 中试过这个,我得到了 - 无法添加表 'contract_0.install_date)'。
  • 该错误与我/我们所做的任何事情都无关。请检查以确保您连接到正确的数据库和查询的整体语法。也许在另一个问题中重新发布该查询和错误。
  • @JustinErswell 让我们continue this discussion in chat
猜你喜欢
  • 1970-01-01
  • 2023-03-10
  • 2012-05-20
  • 1970-01-01
  • 1970-01-01
  • 2010-12-16
  • 1970-01-01
  • 1970-01-01
  • 2021-09-12
相关资源
最近更新 更多