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, который считывает данные. Предыдущий ответ дает примеры того, как это сделать.