Excel ODBC Импорт из MySQL
У меня импорт Excel из установки ODBC с использованием MSQuery, и все нужные мне данные и строки возвращаются нормально, однако, когда я отправляю данные в мою книгу 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 выше
* РЕДАКТИРОВАТЬ * *
Я использую Excel 2010 на Windows 7 и MySQL ODBC 3.5
ОБНОВЛЕНИЕ * *
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;
1 ответ
Решение
Вы лечите install_date
поле в виде строки. Это, вероятно, Date
или же DateTime
поле и, чтобы получить отдельные значения года, месяца и дня, вы должны использовать функцию извлечения.
ХОРОШО. Как я и подозревал, вы имеете дело с датой. Замените эти строки:
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',