JDBC преобразование метки времени в NULL (проблема zeroDateTimeBehavior)

Я использую интеграцию данных Pentaho (шаг ввода таблицы) для извлечения данных с сервера MySQL. Несколько полей имеют тип "метка времени", и Pentaho продолжает извергать ошибки из-за того, что метка времени равна NULL (0000-00-00 00:00:00.000000).

добавил zeroDateTimeBehavior=convertToNull к параметрам, которые должны заботиться о плохих отметках времени, но он преобразует все из моих данных метки времени в NULL.

одна из причин, почему я думаю, что это может произойти, потому что некоторые из моих "хороших" данных представлены, например, 2013-03-14 04:55:09.000000. Хотя большая часть даты - это "хорошие данные", дробные секунды (.000000) может интерпретироваться как "плохие" данные параметром zeroDateTimeBehavior и, таким образом, преобразуется в NULL.

предложения?

1 ответов


на основе этой ответ, я бы, вероятно, изменил тип данных поля на datetime, а не timestamp. Если вы этого не сделаете, вам придется выполнить преобразование в SQL, который считывает данные. Предыдущий ответ дает примеры того, как это сделать.